Menu

Nakov.com logo

Thoughts on Software Engineering

Кой език за програмиране да учим?

За най-търсените езици за програмиране PHP, JavaScript, Java и C# и защо няма съществено значение кой език за програмиране ще изберем, съм писал отделни статии с видео, които можете да видите тук:

За настоящата статия

Настоящата статия е леко остаряла (от 2013 г.) и информацията може да не е актуална към днешна дата!

Препоръчвам ви по-новата и добре аргументирана статия по въпроса:

Как да стана програмист? Кой език за програмиране да уча и защо езикът няма значение?

Update: Наскоро колегата Николай Костов направи класация на езиците и технологиите за програмиране според обявите за работа в българската софтуерна индустрия (към септември 2015). Изводите, които направих през 2013 година, когато за пръв път се появи такава класация, изглежда се запазват и през 2015 г.

Класацията на Николай Костов нещо като нова версия на статистиката на колегата Мирослав Мирославов за търсенето на софтуерни инженери в българската софтуерна индустрия (към юни 2013). Тогава не можах да се стърпя да направя коментар на тези данни и да посоча малко изводи, които можем да си направим от тях.

Класация за търсенето на езиците за програмиране в българската софтуерна индустрия (септември 2015)

Класацията на езиците за програмиране в България е базирана на анализ на активните обяви за работа от портала jobs.bg към септември 2015 г.

Keyword Jobs
SQL 613
JavaScript 459
PHP 385
Java 285
C# 284
C/C++ 139
Python 75
Ruby 44
Objective-C 28
VisualBasic 8
Delphi 6

Източник: https://github.com/NikolayIT/BgItJobsMarketShare/blob/master/Results/2015-09-08.md.

Класация за търсенето на езиците за програмиране (юни 2013)

Класация за търсенето на софтуерни инженери в България (SV Index, юни 2013)

SofiaValley-programming-index-jobs

Ето я и класацията за езиците на програмиране в България на SofiaValley (към юни 2013) във вид на таблица (източник: http://sofiavalley.com/sv-index-june-2013):

Позиция Език за програмиране Срещания Дял
1 JavaScript 236 23,89 %
2 Java 172 17,41 %
3 PHP 163 16,50 %
4 C# 116 11,74 %
5 C 107 10,83 %
6 C++ 97 9,82 %
7 Python 40 4,05 %
8 ObjectiveC 22 2,23 %
9 VisualBasic 19 1,92 %
10 Ruby 13 1,32 %
11 Delphi 3 0,30 %

Обръщам внимание на следната важна подробност на този индекс: “Индексът е изграден на база колко обяви за работа има в страната към днешна дата, в които се споменава даден език за програмиране”. Ще дискутираме след малко защо споменаването на даден език за програмиране не означава непременно работа само с него, т.е. класацията трябва да се интерпретира внимателно.

Езикът SQL е премахнат от класацията, защото не е език за програмиране, а език за заявки към релационни бази данни.

Изводи, коментари и размишления за класацията

Ако гледаме горната класация, излиза, че трябва да учим JavaScript и това е едва ли не най-важният език за програмиране в днешно време. SQL го изключваме от обсъждането, защото не е език за програмиране (като Java, JavaScript, C# и PHP), а е специализиран език за заявки в релационните бази данни. Наистина, JavaScript се очертава като задължителна технология, за почти всички софтуерни инженери, статистиката е вярна. Обаче наистина ли JavaScript е най-важният език за програмиране в света (или поне в българската софтуерна индустрия)? Нека разгледаме следващите езици в класацията: Java, PHP и C#.

За какво се ползва Java?

Java е език за разработка на сървърни приложения, сериозна бизнес логика, големи индустриални системи, включващи сложна обработка и изискващи голяма надеждност. По Java обикновено се подразбира не само езика Java, но и платформите Java и Java EE. На Java се пишат както сложни server-side системи, така и уеб базиран софтуер. Примерно да вземем три от най-големите Java играчи в българската софтуерна промишленост: SAP Labs Bulgaria, VMware Bulgaria и MB Bulgaria (Moneybookers). И трите фирми пишат големи проекти с тежка бизнес логика, с която обработват финансова и бизнес информация, комуникират с други системи, с бази данни и cloud услуги. И трите фирми обаче предоставят малко или много уеб базиран интерфейс на своите Java приложения и този уеб базиран интерфейс познайте на какво се пише?

Не искам да се ангажирам с цифри, но по мое мнение между 50% и 70% от Java софтуерът, който се пише в България и по света съчетава Java и уеб технологии, т.е. ползват се едновременно Java и JavaScript, HTML и CSS. Какво излиза? Ами за голяма част от Java програмистите (30% – 50% по мое мнение) е задължително да знаят JavaScript, HTML и CSS, за да пишат своите Java приложения. Останалите или не пишат уеб приложения, или имат front-end инженер в екипа, който пише уеб частта, а те пишат само сървърната част.

Какво означава това за статистиката? Ами голяма част от тези близо 24% JavaScript програмисти, дето се търсят на пазара за труда, са всъщност Java програмисти, които по между другото трябва да пишат и JavaScript. Реално една част от JavaScript програмистите от горната статистика, са всъщност Java програмисти и за тях JavaScript не е основен език, а допълнителен.

За какво се ползва PHP?

Едва ли някой ще спори, че PHP е език за писане на уеб приложения, предимно за малки проекти с несложна логика. Има и изключения, разбира се, но PHP на практика е език и технология за създаване на динамични уеб сайтове и клиентски уеб приложения и рядко се ползва за нещо друго. PHP не е подходящ за сървърни приложения с тежка логика, както и за мобилни и настолни приложения (има изключения, знам, но са малък процент от пазара). При по-големи системи PHP се ползва за front-end частта (заедно с HTML, CSS и JavaScript), т.е. за изграждане на уеб базиран потребителски интерфейс към по-сериозна и тежка логика (за пример ще дам Facebook, който има PHP базиран уеб интерфейс и Java базирана сървърна логика в cloud среда).

Какво означава фактът, че PHP се ползва предимно за писане на уеб сайтове и уеб приложения? Това означава, че PHP винаги се позлва заедно с HTML, CSS и JavaScript, а от това можем да си направим извода, че на практика почти всички PHP програмисти са едновременно HTML, CSS и JavaScript експерти. По мое мнение над 95% от PHP програмистите пишат освен на PHP и на JavaScript. Отново става дума, че JavaScript не им е основен език, а допълнителен (както SQL е допълнителен език за почти всички, които ползват бази данни).

За какво се ползва C#?

Езикът C# се ползва за изграждане на всякакви софтуерни приложения и системи: от тежка сървърна логика (където конкурира Java) до уеб приложения (където конкурира PHP) и настолни приложения (където е почти без конкуренция върху Windows платформата) и мобилни приложения (където конкурира Java за Android устройствата и Objective C за iOS устройствата).

C# е доста универсален език, с който се програмира всичко, но има сериозно ограничение – той не е отворена платформа с отворен код. Като собственост на Microsoft, езикът C# се ползва предимно в Microsoft екосистемата, т.е. за програмиране под Windows (сървърни приложения по Windows, cloud приложения в Windows среда, уеб приложения под Windows с ASP.NET и мобилни приложения в Windows Phone и Windows 8). Ако C# и .NET бяха отворени език и платформа (като Java и PHP), вероятно C# щеше да е най-популярният език за програмиране в света.

Отново, както при Java и PHP програмистите, трябва да си зададем въпроса доколко един C# програмист трябва да ползва JavaScript. Отговорът е лесен: ако пише уеб приложения, един C# разработчик трябва да знае HTML, CSS и JavaScript. По мое мнение между 60% и 80% от C# програмистите ползват в ежедневието си и JavaScript.

За какво се ползва JavaScript?

JavaScript е скриптов език за изграждане на потребителски интерфейс в клиентски уеб приложения. На JavaScript се пише тази чат от съвременните софтуерни приложения, която работи в уеб браузъра. С езика JavaScript се изгражда модерен HTML5 базиран потребителски интерфейс (UI) за уеб и мобилни приложения. Езикът JavaScript е тясно свързан с уеб front-end технологиите HTML и CSS и почти винаги се ползва съвместно с тях.

JavaScript е помощен език за web front-end приложения, не основен. На него се пише клиентската част на приложенията (това, което потребителят вижда) и рядко се ползва за сървърната част (логиката и данните на приложенията и тяхната обработка). Технологията Node.js позволява JavaScript да се ползва за сървърни приложения, но по една или друга причина тя не се използва масово.

Повечето съвременни уеб приложения се състоят от клиентска част за потребителския си интерфейс (изградена върху HTML, CSS и JavaScript), сървърна част за своята сървърна логика (написана на Java, PHP или C#) и база данни за съхранение на своите данни (релационна като MySQL или SQL Server или Oracle или нерелационна NoSQL база като MongoDB). Тази типична организация на приложенията е известна в софтуерното инженерство като “трислойна архитектура” и може да се каже, че JavaScript е език само за единия слой на приложенията (уеб потребителският интерфейс) и следователно е помощен език. По същия начин езикът SQL се ползва само в базата данни и също е помощен език, не основен като C# и Java.

Класацията на топ 4 езиците: JavaScript, PHP, Java и C#

Какво излиза от горните разсъждения? Ако тези разсъждения са верни, излиза, че 40% от Java програмистите са едновременно JavaScript програмисти, 95% от PHP програмистите са едновременно JavaScript програмисти и 70% от C# програмистите са JavaScript програмисти. Реално делът на чистите JavaScript програмисти никак не е голям.

И наистина, ако разгледаме обявите за работа в българската софтуерна индустрия, ще се убедим, че много често JavaScript се търси като допълнителен, а не като основен език. Има, разбира се, и професия JavaScript developer, която често пъти се обявява като front-end developer или като mobile developer, когато става дума за уеб фронт-енд и HTML5 и JS базирани мобилни приложения, но по-често се търсят специалисти, които едновременно пишат на JavaScript и на някой сървърен език като C#, Java или PHP.

Изводът според мен е категоричен: JavaScript не е най-търсеният език в българската софтуерна индустрия и се е позиционирал толкова високо в класацията на езиците за програмиране, защото се ползва масово от PHP, C#, Java и Python програмисти. JavaScript не се ползва единствено от C / C++ програмистите, защото те не пишат уеб приложения (с много дребни изключения).

Изводи за пазара на труда в софтуерната индустрия

В крайна сметка до какво стигнахме? Според мен не е правилно да се прави класация на езици за програмиране, защото помощни езици като JavaScript и SQL ще излязат на челните места, без това да съответства на тяхната значимост за индустрията. Точно това видяхме и в класацията SV Index: според нея JavaScript е най-важният език в софтуерната индустрия, а всъщност Java, PHP и C# са по-важни от гледна точка на това дали ще ви наемат на работа.

Според мен езиците и технологиите трябва да се разглеждат съвместно като технологични платформи, примерно PHP+MySQL+HTML+CSS+JavaScript или C#+SQL-Server+ASP.NET-MVC+HTML+CSS+JavaScript. Ако обърнете внимание на обявите за работа, винаги изискваният вървят заедно, примерно ако се търси PHP специалист, обикновено се изискват MySQL, HTML, CSS и JavaScript. Ако се търси C# специалист, обикновено се изискват още SQL Server, HTML, CSS и JavaScript. Следователно класацията трябва да се изгражда на базата на група технологии, които се ползват съвместно, а не по отделни езици за програмиране (като PHP, Java и SQL) и отделни технологии (като уеб услуги, REST, ASP.NET MVC и Django). За съжаление не съм попадал на такава класация за българската софтуерна индустрия до момента.

Трябва ли да учим JavaScript?

Краткият отговор е “Да, учете JavaScript, ще ви трябва”. По мое мнение “JavaScript developer” е добра професия, но е още по-добре да знаете да програмирате и от страна на сървъра (малко C# или Java или PHP или Node.js или Python / Ruby + малко бази данни + уеб услуги с REST и JSON).

JavaScript си остава език, с който се пише част от приложението (уеб front-end частта), а не цялото приложение, защото приложенията почти винаги имат сървърна част и почти винаги тя се пише на друг език. В близките години не очаквам съществени промени и смятам, че всеки разработчик на софтуер трябва да знае малко HTML, CSS и JavaScript + малко бази данни и SQL + малко уеб услуги и REST. Всички тези технологии са част от професията и трябва да се знаят, независимо на какъв език пишете!

Кой език за програмиране да учим?

Много хора ме питат от кой език за програмиране да започнат. Това е сложен въпрос и няма еднозначен отговор. Зависи каква е целта им. Например, ако някой иска да се научи да прави уеб сайтове, най-добре е да започне от HTML + CSS + JavaScript и да продължи с PHP, бази данни и уеб услуги. Ако някой иска да пише уеб приложения, може да започне от HTML + CSS + JavaScript и паралелно да учи програмиране със C# или Java и бази данни. Програмирането пък включва в себе си структури от данни, алгоритми, обектно-ориентирано програмиране и качествен програмен код. Ако някои иска да учи разработка на мобилни приложения за iOS, нещата са съвсем различни и трябва да учи Objective C + iOS платформата.

Моето мнение и съвет към начинаещите в програмирането е следното:

  • Научете поне един език за програмиране с общо предназначение (C# или Java). Така ще влезете в програмирането като концепция. Това включва структури от данни и алгоритми, обектно-ориентирано програмиране и ползване на базови библиотеки (programming APIs). Ако научите C#, много лесно можете да минете на Java или друг език.
  • Научете поне един скриптов език, най-добре JavaScript. Езиците за програмиране си приличат и се различават. Ако знаете един сървърен език (C# или Java) + един скриптов език (JavaScript или PHP или Python), ще знаете основните парадигми в програмните езици и всеки следващ език ще ви е много лесен.
  • Научете основните технологии в разработката на софтуер: бази данни и SQL, уеб услуги и REST, уеб front-end технологии (HTML, CSS и JavaScript) и поне една мобилна платформа (Android, iOS или Windows 8).

Реално въпросът кой език да уча е грешен! Не трябва да учите само един език. Трябват да научите едновременно много езици и много технологии! Не може само със C# или Java или PHP. Не може и само с HTML, CSS и JavaScript. Не може и само с бази данни. Трябва да знаете от всичко по малко и много от това, което в момента работите. По конкретно, за да сте добър софтуерен инженер, трябва да знаете по малко от следните програмни езици, платформи и технологии:

  • Технологии за потребителски интерфейс (front-end): HTML, CSS, JavaScript и JS frameworks (+ други ако се наложи)
  • Технологии за сървърно програмиране (server-side): C# или Java или PHP или Python(+ други ако се наложи)
  • Технологии за работа с данни (back-end): бази данни и SQL, ORM технологии, уеб услуги и REST (+ други ако се наложи)
  • Други технологии и платформи (ако се наложи): мобилни платформи, cloud технологии, софтуерно инженерство, операционни системи, вградени системи, езици от по-ниско ниво като C и C++, …

Ако някой се изцепи, че е добър C# или PHP програмист, но не знае нищо от изброените по-горе технологии, значи не е добър програмист. Няма такова понятие като “добър Java програмист” или “добър PHP програмист”. Или си добър програмист, или си менте! Ако си добър програмист, ще можеш да пишеш на всичко. Днес на PHP, след месец на Java, догодина на C#. Днес уеб приложения с HTML, CSS и JavaScript, слд 2 месеца мобилни приложения с Java и Android и т.н. Добрият програмист е добър, защото знае как се прави софтуер, знае всички основни езици, платформи и технологии, а “Java програмист” и “C# програмист” са просто временни специализации. Те не могат да означават добър програмист. Има добри програмисти, които пишат основно на Java, има и недобри. Да си програмист (или по-точно софтуерен инженер) е професия, която изисква да учиш всеки ден. Ако това не ти приляга, работи нещо друго.

Ако съм начинаещ, от кой език да започна?

И все пак ако съм начинаещ, от къде да започна? Има само един съвет, който мога да дам с абсолютна убеденост, че е правилен:

Започни от софтуерния университет (СофтУни)

В СофтУни се учат всички основни езици, платформи и софтуерни технологии, които се ползват днес в индустрията, съчетани с основите на програмирането, софтуерното инженерство и екипната работа.

Защо да се запиша в СофтУни?

Ако сте начинаещ и искате да станете софтуерен инженер, най-лесният начин е през СофтУни. В България вече (от няколко години насам) има качествено и безплатно образование за софтуерни разработчици. СофтУни предоставя качествено обучение, професия и работа и път в живота на хиляди млади хора.

Какво учим в СофтУни?

В софтуерната академия “СофтУни” учите безплатно всички основни езици за програмиране, платформи и технологии, които ви осигуряват задълбочено навлизане в професията “софтуерен инженер” и работа в софтуерната индустрия:

  • Основи на програмирането – алгоритмично мислене, решаване на проблеми, структури от данни и алгоритми, обектно-ориентирано програмиране, качествен програмен код.
  • Няколко езика за програмиране с общо предназначение – C# и Java. Изучават се в дълбочина езикът и C# и платформата .NET Framework, основните библиотеки и програмни APIs, свързани с .NET платформата. Езикът и платформата Java в основната програма на СофтУни се учат на начално ниво и може да се усъвършенства чрез изборни курсове.
  • Един динамичен (скриптов) език за програмиране – JavaScript. Изучава се не само езикът JavaScript, но и всички основни технологии, библиотеки и технологични рамки, използвани заедно с него – jQuery, JavaScript OOP + JS UI frameworks + технологии за Single Page Apps като AngularJS.
  • Уеб front-end технологии: HTML, CSS, JavaScript, създаване на уеб сайтове, CMS системи, Photoshop, SEO и UX технологии (потребителско изживяване).
  • Бази данни и уеб услуги (сървърно програмиране): бази данни, SQL Server и MySQL, NoSQL бази данни, ORM технологии за достъп до данни, уеб услуги и REST.
  • Технологии за уеб разработка: PHP, Apache и MySQL, MVC frameworks, ASP.NET MVC.
  • Технологични платформи: уеб разработка (с ASP.NET MVC и PHP), мобилна разработка (базирана на HTML5 и Cordova), десктоп разработка (базирана на C# и XAML), cloud технологии, софтуерно инженерство.
  • Работа в екип – сериозно наблягаме на екипната работа по практически проекти и всеки месец организираме поне по един team work.
  • Soft skills обучения – обучаваме освен по технологии, и по нетехнически теми като личностно развитие, ИТ предприемачество, бизнес умения, здраве и спорт и други.

Как да се запиша в СофтУни?

Записването става с попълване на онлайн форма за кандидатстване. СофтУни стартира

Нов безплатен курс по основи на програмирането всеки месец

Приемът е няколко хиляди души (присъствено обучение) и няма ограничение за онлайн участниците. Продължителността на обучението е около година и половина. В СофтУни натоварването е сериозно, учи се здраво, по 6-10 часа на ден. Завършат около 20% от започналите, но пък стават доста добри софтуерни инженери (макар и начинаещи). Има много домашни, които трябва да се правят, защото иначе отпадаш на изпитите. Изисква се висока мотивация и да отделиш много време, но си струва. СофтУни е най-късият път към професията “софтуерен инженер”, при това напълно безплатен.

За въпроси, свързани със SoftUni, използвайте форума на университета:

https://softuni.bg/forum

Софтуерният университет (СофтУни) е една от стъпките по инициативата “България – силициева долина на Европа”, която е голямата цел на автора на настоящата статия Светлин Наков.

Comments (43)

43 Responses to “Кой език за програмиране да учим?”

  1. […] За какво се ползва JavaScript, PHP, Java и C#, с кой програмен език да започнем, какво се учи в Академията на Телерик и как да се запишем, можете да прочетете в блога на Светлин Наков… […]

  2. […] Светлин Наков: Наскоро ми попадна статистиката на колегата Мирослав Мирославов за търсенето на софтуерни инженери в българската софтуерна индустрия и не можах да се стърпя да направя коментар на тези данни и да посоча малко изводи, които можем да си направим от тях. […]

  3. Plamen says:

    Доста интересна статия. Прочетох я с лекота.

  4. На какво се базира твърдението, че MIT ползва python? За каква употреба става въпрос?

  5. Johnny Cage says:

    Javascript ще увеличи преднината си през следващите години и вероятно ще се настани и като траен сред сървърните езици, т.к. предлага различна концепция на работа.
    Добър език да се започне, но не е добър език за усвояване на фундаменти, като обектно ориентирано програмиране и въобще на програмни шаблони. Но връщането към него на по-късен етап би бил доста продуктивен.

  6. pavlin says:

    Г-н Наков, винаги съм се чудил защо в академията не се организират Java курсове и свързаните с нея технологий , още пoвече че е един от най-търсените езици за програмиране!
    Благодаря ви за усилията които полагате и за многобройните статий и книги които много ни помагат!

  7. Статистиките са логични, тъй като JavaScript се използва масово в сайтовете, особено напоследък с дразнещите pop-ups, които ни приканват към действие или служат за рекламни цели и специалистите в тази сфера са от голяма необходимост.

    Поздравления за качествения анализ и успех на академията!

  8. nakov says:

    Защо не обучаваме на Java? Ами нямаме Java преподаватели – доброволци. Ако се появи кадърен Java преподавател, който иска да обучава доброволно Java developers, ще го поканим да организира Java обучения. Така например се появи Linux курса – дойде кадърен преподавател, доброволец. Така стана и с курса за бизнес умения – дойде преподавател доброволец и направихме курса.

    Рано или късно ще имаме и Java курсове, вероятно Java основи + Android development. Просто не ни е стратегическа цел и затова не се хващаме с Java.

    Java нито ни трябва, нито ни пречи. В Telerik почти не се използва и затова нашите фирмени ресурси (разбирай хората на заплата от Телерик) преподават C# и JavaScript. Ако има външен лектор, ще направим и Java курс.

  9. JS (HTML5 API + canvas 3d библиотеките), .NET езиците, php, Qt Framework, според мен.

  10. […] За какво се ползва JavaScript, PHP, Java и C#, с кой програмен език да започнем, какво се учи в Академията на Телерик и как да се запишем да учим в нея, можете да прочетете в блога на Светлин Наков… […]

  11. Java, C+Linux, QT, Lisp… доста неща трябва да се учат.

  12. Java Developer says:

    Работя в Skrill (Moneybookers), мога да кажа че автора на статията не разбира нищо от процеса на работа в големите фирми. Тук нито един Java Developer не може и не е задължен да пише на java script(СМЕШНО Е!). Имаме си специален екип от java script програмисти които извършват тази дейност.

  13. :) says:

    Силно впечатлен от факта, че уж в академията се преподава NoSQL бази данни, но не знаете, че MongoDB, Couchbase и CouchDB разчитат точно на JavaScript, JSON/BSON (Binary JSON), като външен интерфейс. Като допълнителен пример ще дам, че при MongoDB дори C/C++ API-то представлява макроси за изграждане на JSON обекти.

    В същото време SpiderMonkey (на Firefox) и V8 (на Google) са достъпни като библиотеки на Linux, и е тривиално да бъдат включени в проекти; да се направи комуникация между JS и C/C++ обектите (Python също може да работи със C/C++ обекти по аналогичен начин).

    JavaScriptCore (познат още като Nitro) също е достъпен като библиотека, и е изключително лесен за интегриране с Objective-C. Работи и на Mac OS X, и на iOS.

    Накратко, JavaScript със своята динамика, липсваща в повечето от останалите изброени езици, се оказва изключително гъвкав и удобен за огромен брой задачи, които биха били досадно сложни и непрактични за изпълнение на другите езици.

  14. не мога да разбера, толкова дискусии за js а никой не споменава http://asmjs.org/ ?

  15. За какво ми е да компилирам до js?

  16. nakov says:

    @Java Developer, благодаря за коментара. Това доказва концепцията, че има “чисти Java developers”, поредимно в големите фирми и “Java + JavaScript web developers” предимно в малките фирми.

  17. Halio Babalio says:

    Глупости

  18. Еи ме 🙂 Java ще преподавам 🙂 навит съм :Д:Дняма грижи 🙂 това свързано с по горно изказване че няма преподаватели. Истината е че има много места където хората могат да учат java не е нужно да се преподава всичко навсякъде, a и в Telerik Java не се пише та… и да има курс в академията няма да е толкова далаверско. Иначе @Java Developer, ами не си прав… истината е че java програмистите МНОГО трудно можеш да ги накараш да пишат на друго … смисъл факт (хубав факт ако питаш мен) но в момента всичко шифтва яко към javaScript, GWT вече не е така популярно така че скоро всеки java web девелопер ще пише все повече и повече JavaScript. Ilian Zapryanov ama… to asmjs.org не разбирам какво точно да му се споменава то е по скоро ако пишеш на C++ ама искаш да си пуснеш нещото в browser 🙂

  19. Търсенето на JavaScript девелопъри, въобще не отговаря на цифричката там, защото: “Индексът е изграден на база колко обяви за работа има в страната към днешна дата, в които се споменава даден език за програмиране”

    Така че, един съвет – НЕ “учете” JavaScript. JavaScript не е като Java, PHP, C#, etc. В 99%та от случайте писането на JavaScript вкл. и поне още 3-4 технологии, било то сървър или клиент сайд.
    Ако нямате поне 3-4 години опит с поне 2-3 други езика (особено стрикт + скрипт), то това не е за вас.

  20. Lyubomir Petrov a ве не е баш така ако си един луд JavaScript девелопър можеш бая яка работа да си намериш като frontend dev да не говорим че може и да ти плашат повече от някое PL/SQL или JavaEE guru аз имам познати Frontend only devs дето зимат луди кинти… а и покрай nodeJS … и покрай милионите Rest apita наперд назад излиза че спокойно можеш да си направиш ултра яката услуга без да пишеш C# и Java… според мен C# до 5 години я го има я не … Java до 10тина… ама помисли … JavaScript ? сигурно ще го има още 30 години (както и IE 5.5)

  21. Svetlin Nakov, искам да стана програмист. Коя програма да науча? 😀

  22. Valery Dachev :D:D:D:D bih kazal mIRC 🙂 az pone neq nauchih 1vo 🙂 nauchih se da pisha byrzo a da… ili si kachi Linux ama ne si kachvai nikav desktop shit… samo qko BitchX i centericq… makar 4e to icq umrq apak konzolen skype mai nqma… pfu tiq microsoft nishto ne razbirat konzolen skype da nqmat.

  23. @Nayden Gochev: kyde gi vzimat? kaji da hodq i az tam? 🙂

  24. btw, on *:connect:{ … } 😀

  25. Nayden Gochev, аматьор! ircII и micq, ftw! 🙂

  26. Lyubomir Petrov e tuka Questers posledno chuh che tyrsili Frontend 🙂 pitai Joana Pepelyankova za informaciq 🙂 ako ne sa zatvorili poziciqta moje i da pocherpish v skoro vreme 😀

  27. Иван says:

    Наков по-добре не размишлявай. Аз съм кодер на Жаба от години насам и не ми се е налагало да ползвам жабаскрипт.

  28. […] се интересна дискусия – “Кой език за програмиране да учим? И наистина […]

  29. Николов says:

    аз пиша на джава скрипт – банкови таблици, вечни оихвяващи и създаващи се автоматично таблици и кодери декодери на информация и програмна. И не съм се сетил за друг език.

    Е ясно сървър не съм си изграждал и не ми е това целта а самите приложения. С Джава скрипт може да се направи изкуствен интелект.

    завършил ТУ СОФИЯ и презрял го заради измамите – вземат пари – наука = 0
    (бих научил джава скрипт за сървър но нищо друго)

  30. Николов says:

    e-maila sgreshih: [email protected]

    (2 ll)

  31. Янко Александров says:

    Аз си пиша игра с мултиплеър сървър на node.js ползвам и js физичен engine. Това че до сега е трявбвало да го правиш на c++, или java не означава че и за напред ще е така.

  32. Румен says:

    JAVA SCRIPT не се приема като програмен език !!! Поразровете се из сериозните сайтове и потърсете конкретно за разликите между java и javascript 🙂

  33. Петър says:

    Няма значение кой ще бъде първият език, може да е Scheme, ако имате късмет 🙂

    Идеята е просто човек да се захване с програмиране и да види, че му харесва и че се правят готини неща, идеята е да се научи да решава проблеми, да комуникира с колеги и да не се притеснява да изглежда глупав, ако каже нещо от рода на “C# нямало да го има след 5 години” 🙂

    Дали СофтУни, или Телерик, или Хак България, това са само първи стъпки, после сте сами/заобиколени от колеги, така че всичко си зависи от вас 🙂

    И все пак според мен, най – приятният първи език е Python, после може да попишете JS и Rуby, заебете всички статични езици, вземете си текстов редактор с доста мозък като Emacs, и почнете да мислите 🙂 със здраве !

  34. Това, което прави СофтУни е уникално! Аплодисменти! Това могат да направят за децата и курсовете по английски. Те биха имали възможност да учат на оригинален език. Затова трябва да се влага в тяхното бъдеще.

    • nakov says:

      Има си школи по английски колкото искаш. Ако така сме тръгнали, трябва и по български да направим обучения.

  35. Пешо says:

    Къде забравяме сериозната High performance игрова индустрия като Ubisoft и Gameloft? Тук се ползва основно С и С++. Както и един тон други неща за скриптиране. Все още няма по добър език от С++ като говорим за хардуер и висока производителност, както и за разработка на нови технологии. Същинското хордкор програмиране. Особено в андроид света може да се види и усети кое приложение е писано на Java и кое на С++. Основно по броя кадри в секунда. Най лошото е обаче че някои хора се опитват да изкарат С++ една ли не умрял, макар и всичко около тях да е С и С++. И да, .net е писан на С, CLR е писан на С/С++, уеб браузърите ви са писани на С++, офис пакетите, игрите в Steam,… Самия Steam,… Но дълга тема.

    • nakov says:

      Да, за по-hard проекти, тежка графика, по-сериозни игри, тежки алгоритми и т.н. C++ няма алтернатива. Подкрепям мнението.

  36. И отново не казвам, че трябва да учим JavaScript, защото е най-търсеният език за програмиране според някаква статистика. Далеч не. Но твърдя, че търсенето на JavaScript не е случайно и второстепенно .

  37. […] За какво се ползва JavaScript, PHP, Java и C#, с кой програмен език да започнем, какво се учи в Академията на Телерик и как да се запишем да учим в нея, можете да прочетете в блога на Светлин Наков… […]

  38. Да си добър програмист е като да си добър готвач – ако имаш добра основа след това, лесно научаваш нови неща в бранша. Ако си добър готвач, дори да смениш ресторанта и менюто – адаптацията ти отнема седмици. С програмирането е същото – можеш да мигрираш към различен програмен език бързо и лесно, стига да имаш добра основа приемерно. А доста често, това включва и JS, защото просто е навсякъде.

  39. Yavor Daskalov says:

    Уроците, които са качени в уча.се до каква степен бихте казали, че могат да направят от един човек без никакъв опит добър начинаещ програмист. След завършване на този курс, може ли да се почне работа?

RSS feed for comments on this post. TrackBack URL

LEAVE A COMMENT