SVIndex Завърза се интересна дискусия“Кой език за програмиране да учим? И наистина ли JavaScript е толкова търсен език?” Всичко започна от индекса, който разработвам, наречен SV Index. Това е една статистика (индекс), “изградена на база колко обяви за работа има в страната към днешна дата, в които се споменава даден език за програмиране”.

Как да лъжем със статистика

Преди да се впуснем в “анализи” на индекса, искам да ви обърна внимание, че статистиката е доста коварен прийом. В тази връзка, чета една много силна книга на Darell Huff – How to Lie with Statistics (“Как да лъжем със статистика”). В нея се засяга именно темата за това колко много се използва статистиката за различни манипулации и изкривяване на действителността – понякога неволно, а друг път целенасочено. (Вероятно нашите родни политици я препрочитат всяка година, но това е друга тема). Аз лично не я чета, за да манипулирам някого по-успешно. :) Просто книгата е една от 10-те книги, които всеки предприемач е хубаво да прочете според Inc.com. А и заглавието изглежда интересно. Затова реших да я прочета. А създадох SV Index , защото на мен просто ми беше интересно да знам какви езици се споменават в обявите за работа в България. Ако и на вас ви е интересно, може да следите всеки месец индекса тук. Ето как изглежда статистиката за месец юни:

ПозицияЕзик за ПрограмиранеСрещанияSV IndexПредходен МесецИзменениеИконка
1JavaScript23623,89 %24,15 %-0,27 %
2Java17217,41 %19,06 %-1,65 %
3PHP16316,50 %15,37 %1,13 %
4C#11611,74 %10,58 %1,16 %
5C10710,83 %10,28 %0,55 %
6C++979,82 %10,58 %-0,76 %
7Python404,05 %4,19 %-0,14 %
8ObjectiveC222,23 %2,50 %-0,27 %
9VisualBasic191,92 %2,20 %-0,27 %
10Ruby131,32 %0,60 %0,72 %
11Delphi30,30 %0,50 %-0,20 %

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

Излиза ли, че отговорът на въпроса “Кой език за програмиране да учим” е JavaScript? Според Светлин Наков отговорът е “Не”. Със съответната силна обосновка, че това е второстепенен език, който се ползва като допълнение към някой от сериозните езици като Java, PHP или C#. Съответно JavaScript се среща по-скоро като език, който е бонус да знаем, но не и водещ. Разбира се, преди няколко години и аз бих се съгласил напълно. Но не и днес. Не и 2013г. Днес съм съгласен наполовина. Да, JavaScript може би не е най-важният език за програмиране в България. Но JavaScript е тук, за да остане.

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

От любов към JavaScript?

За добро или за лошо, JavaScript се превръща във все по-предпочитан език за програмиране. От една страна:

  • Предпочитан от потребителите, които не искат (или въобще нямат) browser plugin-и;
  • Предпочитан от мениджърите, които не искат да инвестират в native мобилни приложения, а предпочитат HTML5 + JavaScript мобилни приложения;
  • Предпочитан от потребителите, които искат всичко да се случва в browser-а. Защо да си инсталирам софтуер, когато мога да ползвам cloud базирано web приложение, което не иска да го инсталирам?

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

  • JavaScript от доста време насам е основният език за клиентско web програмиране.
  • Популярността на web технологии, като AJAX, и библиотеки, като jQuery, говори много и за популярността на езика.
  • JavaScript е силно застъпен в новите web ориентирани операционни системи като Chrome OS на Google и Firefox OS на Mozilla;
  • Други платформи, като JavaScriptCore (iOS и MacOS) и Windows 8 JavaScript APIs, ни позволяват да разработваме JavaScript настолни и мобилни приложения;
  • JavaScript + HTML5 с помощта на други технологии (като PhoneGap) ни позволяват да разработваме мобилни приложения.
  • JavaScript се ползва в NoSQL базите данни и сървърните технологии като Node.JS;
  • Появата на езици от по-високо ниво, компилиращи се до JavaScript, като DARTCoffeeScript и TypeScript, също говорят за интереса към езика;
  • Дори в научните среди кипи много сериозен интерес към JavaScript. Има предположения, че следващият модерен език за програмиране ще бъде издънка на JavaScript;
  • и т.н.

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

Трислойна архитектура срещу cloud+web клиент

Гореспоменатият модел на приложения (cloud+web) все повече размива така наречената трислойна архитектура (SQL база, сървър, клиент). Представете си, че имате NoSQL (Mongo, CouchDB…) база някъде в cloud-а. Достъпвате я директно през web API, например REST, което връща JSON (Форматът на данни неслучайно се казва JSON – JavaScript Object Notation :) ) В този примерен модел JavaScript е основният език за програмиране. Защото всъщност основната логика е изнесена на клиента. Разбира се, това е един прекалено опростен модел на клиентско приложение. В реалността би изглеждал по-скоро като мегамикс от технологии и код, написан на различни езици за програмиране. Но въпросът е, че вероятността JavaScript да присъства под някаква форма в този микс е огромна.

Езикът JavaScript

За да не си помислите, че съм пристрастен, ще ви кажа, че съм C# програмист от 2005г. насам до ден днешен. И аз обичам C#. Но истината е, че JavaScript убива с бързи темпове технологията, с която се занимавам последните 4 години. И сега волю-неволю уча JavaScript. Не от огромна любов към езика, а защото ми трябва. В интерес на истината, като свикнеш със странностите и невероятните “гимнастики”, които се правят, за да прилича на обектно-ориентиран език, и разбереш особеностите на динамичната type система (добра статия по темата), всъщност е един доста приятен език за програмиране. Даже започва да ми допада леснотата, с която стават много неща. Елементите на функционален стил на програмиране заедно с плюсовете на динамичната type система (и duck typing-а) правят програмирането доста забавно. Но това е друга тема. Е, не всичко е особено розово, разбира се. :)

Как изглежда JavaScript…от Angus Croll - "The Politics Of JavaScript" :)
Как изглежда JavaScript…от Angus Croll – “The Politics Of JavaScript” :)

И за финал – още малко статистика за използваемостта на езиците за програмиране в най-голямото online repository за source code в света – github. Тази статистика също ясно показва, че JavaScript е тук, за да остане.

github-languages

Но не забравяйте:

  1. Това е статистика за проекти с отворен код.
  2. Това е просто статистика и далеч не казва кой език трябва да учите.

Учете езика, който вие прецените за най-добре. Не този, който една или друга статистика казва, че е най-търсен. И прочетете 10-те правила за по-успешна кариера на програмист.

Благодарности на Руми Нейкова и Надя Атанасова за редакцията.