Koje programske jezike uciti u 2020? Ultimativni vodic!




Obzirom na ogromnu potraznju za kvalitetnim programerskim kadrom, ciji trend samo nastavlja da raste i ne planira da se zaustavi, dok se paralelno alati potrebni za programiranje, prvenstveno programski jezici rapidno razvijaju, uslovljava i najiskusnije programere da ponekad posegnu za ucenjem novih tool-ova, framework-a ali i programskih jezika od pocetka “from scratch”. Naravno, u svemu ovome lezi car i ljepota programiranja ali i IT struke generalno, mada moramo priznati da ponekad zna biti zaista frustrirajuce, osim ako niste iz familije hacker-a, kojima je ovo prirodno stanje svijesti.

Sta je sa obicnim smrtnicima, onim manje iskusnijim u domenu programiranja ili totalnim pocetnicima, odakle poceti? Kako znati koji programski jezik izabrati a pri tom biti siguran da ce isti biti od koristi i nece “zastariti” za par mjeseci ili godinu, dvije?

Odgovor na ta pitanja, ali i mnoga druga, nalazi se upravo u ovom clanku, potkrijepljen detaljnjom analizom trzista i trenutnih trendova. Takodje, na kraju clanka cete pronaci semu, dijagram toka, koji ce pokusati na osnovu vasih odgovora da vam predlozi koji programski jezik bi ste trebali uciti. Nadam se da ce vam biti interesantno i zamolio bih da sve sugestije, kako pozitivne tako i negativne ostavite u komentaru na kraju clanka, radi razmjene informacija i poboljsanja usluge.

Ako pocinjete vasu programersku karijeru u 2020 godini, provjeren i siguran put do uspjesnog senior developer-a je ucenje programskog jezika koji se vec odomacio, koji je vec dug niz godina u upotrebi, a samim tim ima veliku podrsku zajednice.

Parametri kojima cu se voditi prilikom analize su:

  1. Programski jezik sa bogatom istorijom i dugogodisnjom upotrebom
  2. Rangiranje u odnosu na ostale programske jezike
  3. Popularnost i stabilnost
  4. Podrska zajednice, set alata, biblioteka i popularni framework-a
  5. Osiguravaju dobru zaradu i konkurentni su na trzistu rada (omogucuju sigurno zaposljavanje)

Programski jezik Python

Programski jezik Python

Nesumnjivo, najpopularniji programski jezik danasnjice. Razvijen devedesetih, dostigao je ogromnu popularnost za kratko vrijeme. Ne postoji sfera unutar obrade podataka a da Python nije zavirio.

Valjda zbog svoje jednostavnosti i cilja da olaksa programiranje, nasao je svoju primjenu kako u ozbiljnim programerskim krugovima, kompanijama, tako i u obrazovnim ustanovama kao jedan od primarnih jezika za ucenje programiranja ali i igracka za najmladje.

Godine 2008, uvodjenjem verzije Python 3, od strane svog kreatora (Guido van Rossum) dozivio je ogroman “remont” i nadogradnju, cime je poboljsana i danas opste prihvacena verzija u upotrebi.

Kljucne karakteristike

  • Produktivnost, elegantnost prilikom pisanja koda, jednostavnost, pri cemu zadrzava svu svoju moc. Veliki uticaj na moderne jezike, ali i iskustva programera sirom svijeta, kao i nacine i logiku programiranja.

  • Integracija sa programskim jezicima C/C++ i mogucnost upravljanja zahtjevnim zadacima, pri cemu ih proslijedjuje upravo C/C++ jezicima. Ogromna baza alata i biblioteka za matematicke proracune, statistiku i kompjutersku nauku. Neke od poznatih biblioteka kao sto su NumPy, Pandas, SciPy, Scikit-Learn. Kao proizvod navedenih osobina, Python je domininantan u domenu Machine Learning-a, Deep Learning-a i Data Science-a kao i mnogih drugih naucnih domena.

  • Veoma aktivna zajednica i podrska. Nije bitno da li je vas projekat baziran na Enterprise aplikacijama, nauci o podacima ili umjetnoj inteligenciji Python ce vam pruziti podrsku svojim prosirivim bibliotekama i skratiti vam muke od izmisljanja tople vode. Kako to biva sa dobrim programskim jezicima, Python se odlikuje odlicnom dokumentacijom.

Popularnost

Prema PYPL-u (PopularitY of Programming Language), Python se nalazi na prvom mjestu.

Programski jezik Python statistika PYPL 2020

Prema Octoverse-u (The State of the Octoverse), Python zauzima drugo mjesto. Programski jezik Python statistika Octoverse 2020

Prema StackOverflow-u (StackOverflow Developer Survey), Python zauzima cetvrto mjesto. Programski jezik Python statistika StackOverflow 2020

Prema Tiobe-u (The software quality company), Python je na trecoj poziciji. Programski jezik Python statistika Tiobe 2020

Prema Google trends-u, mozemo vidjeti vidjeti trend rasta zainteresovanosti za Python u proteklih pet godina. Prema Tiobe-u (The software quality company), Python je na trecoj poziciji. Programski jezik Python statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, Python je najtrazeniji programski jezik sa prosjekom od 74 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $118 000.

Programski jezik Python statistika Indeed 2020

Ono sto je jos interesantno, sudeci prema StackOverflow-u, jeste pokazatelj da Python developer-i zaradjuju velike plate, obzirom na manjak radnog iskustva u poredjenju sa drugim programskim jezicima.

Programski jezik Python statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Data Science
  • Analitika
  • Umjetna inteligencija, Deep Learning
  • Enterprise aplikacije
  • Web razvoj

Programski jezik JavaScript

Programski jezik JavaScript

“JavaScript nije isto sto i Java”. Trenutno najpopularniji client-side skriptni jezik. Jedan od programskih jezika koji se toplo preporucuje, ako razvijate web client-side aplikaciju, obzirom na veliku popularnost koju je stekao zahvaljujuci Node.js-u.

U poslednjih par godina, JavaScript je evoluirao u jedan zaista fascinantan programski jezik visokog nivoa. Posebnu popularnost, pored Node.js-a stekao je 2010 godine, nakon sto je Google objavio Web razvojni framework AngularJS.

JavaScript mozete pronaci bilo gdje, poput vasih internet pretrazivaca, servera, mobilnih uredjaja, mikro-kontrolera.

Kljucne karakteristike

  • Zauzima prvo mjesto kada se radi o frontend web razvoju, kao i internet pretrazivacima. Najdominantniji framework-ci za razvoj, bazirani na JavaScritp-u su React, Vue.js i Angular.

  • Zahvaljuci Node.js-u, JavaScript je izuzeteno pogodan za obradu podataka prilikom zahtjevnih ulazno/izlazni zadataka. Moze se pokrenuti na skoro svakoj platformi ukljucujuci server i mobilne uredjaje.

  • Konstantno se radi na unaprijedjivanju jezika, ali najvece promjene JavaScript je dozivjela 2015 i 2016 godine. Zahvaljujuci ovim promjenama, trenutna JavaScript se mnogo razlikuje od svojih predaka, mozemo reci da je u potpunosti drugi programski jezik.

Popularnost

Prema Octoverse-u, JavaScript zauzima prvo mjesto, kao najbolje rangiran programski jezik. Programski jezik JavaScript statistika Octoverse 2020

Prema StackOverflow-u, JavaScript takodje zauzima prvu poziciju, kao najpopularniji programski jezik. Programski jezik JavaScript statistika StackOverflow 2020

Prema Tiobe-u, JavaScript je na sedmom mjestu. Programski jezik JavaScript statistika Tiobe 2020

Prema PYPL-u, JavaScript je na trecem mjestu. Programski jezik JavaScript statistika Tiobe 2020

Prema Google trends-u, mozemo vidjeti stabilnost JavaScript-a u proteklih pet godina. Prema Tiobe-u (The software quality company), Python je na trecoj poziciji. Programski jezik Python statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, JavaScript je u top tri programska jezika sa prosjekom od 57 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $117 000.

Programski jezik JavaScript statistika Indeed 2020

Prema StackOverflow-u, JavaScript developer-i mogu skromno da zarade sa veoma relativnim znanje i godinama radnog iskustva u poredjenju sa drugim programskim jezicima.

Programski jezik Python statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Web razvoj
  • Backend razvoj
  • Mobilne aplikacija
  • Serverless
  • Igrice u pretrazivacu

Programski jezik Java

Programski jezik Java

Veoma popularan na svim platfomama, zbog svoje portabilnosti. U ranim devedesetim godinama, kada su poslovne aplikacije bile bazirane na C++, koji je zavistan od platforme i prilicno komplikovan, Java je dosla kao programski jezik koji je uspjesno premostio ovu barijeru razvoje poslovnih aplikacija na jednostavniji, objektno-orijentisan i interpretiran nacin sa podrskom za mutli-treding programiranje.

Za postizanje portabilnosti i nezavisnosti od platforme, zasluzan je razvoj Java Virtuelne Masine (JVM), koji simulira operativni sistem na virtuelnom nivou i na taj nacin omogucava pokretanje na bilo kojoj platformi. Takodje Java uvodi “prikupljac smeca” garabage collection, cime manipulise zivotnim vijekom objekata.

Jedan od najtrazenijih programskih jezika i veoma dobro placen. Do skora je drzao primar u razvoju Android aplikacija, cije mjesto polako ali sigurno preuzima Kotlin, ali kada naucite Javu, naucili ste i Kotlin. Takodje nije bas popularan u Cloud sistemima upravo zbog ogromne velicine JVM-a.

Sa druge strane, mozemo reci da je Java dosta igubio na popularnosti u poslednjih par godina, usljed uspona drugih programskih jezika, prvenstveno Python-a i JavaScript-a. Veliki minus zajednice i smanjenje populalarnosit Java je zaradila nakon sto je Oracle uveo ogromne novcane naknade za licenciranje. Na svu srecu, Java pokusava da prati Cloud trziste kroz GraalVM, ali i kroz razvoj OpenJDK-a, besplatne alternativa Oracle-ovom JDK-ju. Java je i dalje broj jedan programski jezik kada su u pitanju Enterprise aplikacije.

Kljucne karakteristike

  • Java predstavlja mocan, bogat, objektno-orijentisan programski jezik velike produktivnosti.

  • Java je unazad kompatibilna, sto je od krucijalnog znacaja za poslovne aplikacije. Java nikad nije iznenadila trziste uvodjenjem velikih promjena poput Python-a ili Scala-e, sto je za rezultat dalo velik broj Enterprise aplikacija koje svoje povjerenje vide upravo u Javi.

JVM predstavlja vrhunac Software-skog inzinjeringa i jednu od najboljih virtuelnih masina svih vremena. Sa preko 25 godina inovacija Java nudi visoke performanse i mnogo mogucnosti kroz JVM.

Popularnost

Kratko nakon razvoja Java je postao trece rangirani programski jezik na svijetu. Prema Octoverse-u, Java i dan danas zauzima trece mjesto, kao jedan od top tri najbolje rangiranih programskih jezika. Programski jezik Java statistika Octoverse 2020

Prema Tiobe-u, Java se nalazi na prvom mjestu, kao vodeci programski jezik. Programski jezik Java statistika Tiobe 2020

Prema StackOverflow-u, Java takodje zauzima petu poziciju. Programski jezik Java statistika StackOverflow 2020

Prema Google trends-u, mozemo vidjeti blagi pad popularnosti Java-e u proteklih pet godina. Programski jezik Java statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, Java je na drugom mjestu sa prosjekom od 69 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $104 000.

Programski jezik Java statistika Indeed 2020

Prema StackOverflow-u, Java nudi odlicnu platu nakon nekoliko godina prakticnog iskustva

Programski jezik Java statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Enterprise Application Development
  • Razvoj Android aplikacija
  • Big Data
  • Web razvoj

Programski jezik C

Programski jezik C

Jedan od najstarijih i najzastupljenijih programskih jezika na svijetu. Ranih sezdesetih i sedamdesetih, kada se moralo voditi racuna o svakom bit-u memorije i herzu procesorske jedinice, razvijen je proceduralni, programski jezig opste namjene, koji se moze kompajlirati direktno u masinski jezik racunara. C programski jezik nudi direktan pristup memoriji i potpunu kontrolu na hardware-om kompjutera.

Tokom godina, C je postao jedan od najzastupljenijih programskih jezika, dok je imao svoj uticaj na razvoj i oblikovanje skoro svih programskih jezika sa ove liste.

Iako je cesto tema kritike, zbog svoje kompleksnosti, “nesigurnog” programiranja i nedostatka funkcija, kao i zavisnosti od platforme, ako zaista zelite potpunu kontrolu i iskoristenje svih aspekata vaseh hardware-a C/C++ i Rust su vasa jedina opcija.

Kljucne karakteristike

  • Obzirom na mogucnost direktnog pristupa memoriji i direktnom kompajliranju koda u masinski jezik, jedan je od najbrzih i najmocnijih programskih jezika na svijetu.

  • C daje potpunu kontrolu nad hardware-om. C moze biti pokrenut na bilo kojoj platformi, prilikom cega otvara sve mogucnosti iste, bilo da su u pitanju graficke kartice, napredni procesori za masinsko ucenje i umjetnu inteligenciju, Cloud tehnologije, mobilini uredjaji, operativni sistemi ili mikrokontroleri.

  • C programski jezik se moze nazvati “Programski jezik, programkih jezika”, a prakticnu primjenu mozemo vidjeti na primjeru drugih kompajlera koje koriste programski jezici poput Ruby, PHP, Python napisanih upravo u C-u.

Popularnost

Dovoljno je reci da je C skoro 50 godina u ovoj industriji i dalje veoma popularan.

Prema Octoverse-u, C zauzima deveto mjesto. Programski jezik JavaScript statistika Octoverse 2020

StackOverflow, svrstava C na jedanaestu poziciju. Programski jezik JavaScript statistika StackOverflow 2020

Prema Tiobe-u, C je na drugom mjestu.

Programski jezik JavaScript statistika Tiobe 2020

Prema PYPL-u, C je na sestom mjestu.

Programski jezik JavaScript statistika Tiobe 2020

Prema Google trends-u, mozemo vidjeti stabilnost i zainteresovanost za C u proteklih pet godina. Programski jezik C statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, C je na sestom mjestu sa prosjekom od 28 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $101 000.

Programski jezik C statistika Indeed 2020

Prema StackOverflow-u, C developer-i mogu dobro da zarade ali je potrebno vise vremena da bi se postigo nivo znanja u poredjenju sa Javom i Python-om.

Programski jezik C statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Sistemsko programiranje
  • Razvoj igara
  • IoT i sistemi u realnom vremenu
  • Masinsko ucenje, “Deep Learning”
  • Embedded sistemi

Programski jezik C++

Programski jezik C++

Kompleksnija verzija C programskog jezika, sa mnogo vise opcija. Veliki uticaj prilikom razvoja je imao upravo od C programskog jezika, u pocetku kao nadogradjenja verzija da bi se nakon odredjenog perioda razvio u programski jezik opste namjene, koji zadrzava sve osobine svog prethodnika.

Velik broj opcija i mogucnosti C++ cini jednim od najkompleksnijih programskih jezika danasnjice. Zavistan je od platforme, sto mu je smanjilo popularnost u odnosu na Javu prilikom razvoja Enterprise aplikacija.

Ogromnu popularnost dobiva uporedo sa ubrzanim razvojem grafickih kartica, virtualizaije i pojavom Cloud-a, zbog mogucnosti prilagodjavanja i preuzimanja kontorole nad hardware-om i kompletnim eko-sistemskim promjenama unutar kompleksnih sistema.

Ucenje C++ programskog jezika se moze usporediti sa nacinom kako proizvesti, sastaviti i voziti automobil. Ucenje se preporucuje samo uz nadzor starijih C++ programera :)

Kljucne karakteristike

  • Nalik Java-i, C++ konstantno tezi modernizaciji i prilagodjavanju svojih osobina pratece trendove promjene hardware-ske industrije. Danasnji C++ je mnogo sigurniji, moderniji i produktivniji u odnosu na prve verzije C++ programskog jezika.

  • Poput C-a, C++ daje potpunu kontrolu nad hardware-om i mozete ga koristiti na bilo kojoj platformi upravo kao i C, od grafickih kartica, preko naprednih procesorkih sistema, virtuelizacije, Cloud-a, do mobilnih uredjaja i mikrokontrolera.

  • C++ je nevjerovatno brz i kao takav primijenjen u aplikacijama gdje su kriticne perfromanse i upravljanje resursima. Primjeri fantasticnih software-a poput Java Virtuelne Masine, Chrome V8 Engine-a, kao i mnogi baza podataka su napisani u C++-u.

Popularnost

Prema Tiobe-u, C++ je na cetvrtom mjestu, kao jedan od najstarijih programskih jezika. Programski jezik C++ statistika Tiobe 2020

Prema Octoverse-u, C++ zauzima sesto mjesto. Programski jezik C++ statistika Octoverse 2020

StackOverflow, svrstava C++ na devetu poziciju. Programski jezik C++ statistika StackOverflow 2020

Prema Google trends-u, mozemo vidjeti stabilnost C++-a u proteklih pet godina, gdje se direktno takmici rame uz rame sa programskim jezicima Rust i Go. Programski jezik C++ statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, C++ je i top cetiri programska jezika sa prosjekom od 41 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $104 000.

Programski jezik C++ statistika Indeed 2020

Prema StackOverflow-u, C++ developer-i mogu odlicno da zarade, ali veca zarada i uopste zarada dolazi sa duzim radnim iskustva u poredjenju sa drugim programskim jezicima.

Programski jezik C++ statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Sistemsko programiranje
  • Razvoj igara
  • IoT i sistemi u realnom vremenu
  • Masinsko ucenje, “Deep Learning”
  • Embedded i Distribuirani sistemi

Programski jezik GoLang

Programski jezik GoLang

Google nam donosi programski jezik, GoLang ili samo Go, ciji primar je izvrsavanje vise taskova paralelno u isto vrijeme, sto se naziva konkurentnost. Nativno postizanje konkurentnosti, razlikuje GoLang, od ostalih programskih jezika. Primjenu je nasao u masinskom ucenju ali i web development-u.

Usljed nemogucnosti postojecih programskih jezika da zadovolje potrebe Google-a nad “neogranicenim” hardware-skim resursima i nativno skaliranje, nastao je GoLang.

Razvijen od tima inzinjera vodjenih zacetnicima C programskog jezika, 2012 godine Google je razvio novi pragmaticni, jednostavan za ucenje, skalabilan programski jezik Go. Go takodje posjeduje “Garabage collector” od samo nekoliko Megabyte-a. Za kratko vrijeme je stekao veliku popularnost.

Kljucne karakteristike

  • Go se odlikuje kao programski jezik koji podrzava konkurentnost. Konkurentnost se zasniva na prolazku poruku baziranoj na takozvanoj Goroutine-i i Channel-u.

  • Odlikuje se dizajnom i jednostavnoscu. Uspio je da spoji ugodno sa korisnim ili drugim rijecima produktivnos Pyton-a i snagu programskog jezika C.

  • Ima ugradjen “Garabage collector”. Prilikom sistemskog programiranja daje sigurnost poput Java-e i Python-a.

Popularnost

Ogroman napredak u proteklih par godina.

Prema Tiobe-u, GoLang je na dvanaestom mjestu, uz tendenciju napretka ka gore. Programski jezik GoLang statistika Tiobe 2020

Prema StackOverflow-u, GoLang zauzima trinaestu poziciju Programski jezik GoLang statistika StackOverflow 2020

Prema Google trends-u, mozemo vidjeti stabilnost i uspon GoLang-a u proteklih pet godina. Programski jezik GoLang statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, GoLang, tacnije software inzinjer ima prosjek plate veci od $108 000

Programski jezik GoLang statistika Indeed 2020

Prema StackOverflow-u, GoLang developer-i su medju najplacenijim na trzistu.

Programski jezik GoLang statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Sistemsko programiranje
  • Serverless
  • Biznis aplikacije
  • Cloud-Native razvoj
  • IoT

Programski jezik Kotlin

Programski jezik Kotlin

Ogromna popularnost za samo godinu dana, namece Kotlin kao broj jedan kada je u pitanju razvoj Android aplikacija. Programski jezik opste namjene, cross-platform, kompatibilan sa Javom i potpuno integrisan sa Android Studio-m sto ga cini broj jedan izborom Android developera.

Iako u potpunosti interoperabilan sa Java-om, Kotlin je dizajniran kao mnogo jednostavniji (u pogledu sintakse) i precizniji programski jezik. Godine 2019, Google je objavio da Kotlin predstavlja izbor broj jedan, kada je u pitanju razvoj Android aplikacija.

Kljucne karakteristike

  • Kada je u pitanju citljivost koda i sama sintaksa, Kotlin je daleko ispred Java-e. Sa mnogo manje linija koda postizete isti efekat, sto povlaci cist kod i manju mogucnost greske prilikom programiranja.

  • Kao potpuno opremljen programski jezik, Kotlin dolazi sa pregrst standardnih biblioteka koje prosiruju vec postojece klase. Prosirivost je jedna od kljucnih osobina Kotlin-a kao programskog jezika.

  • Potpuna interoprabilsnot sa Java-om. Jednostavno je pozvati Java kod u Kotlin i obrnuto. Postoje cak i automatski Java-to-Kotlin konvertori vec ugradjeni u popularne IDE-je koji pomazu prilikom migracije koda.

  • Jedna od kljucnih osobina Kotlin-a je “Immutability”, nepromjenjivost, po pitanju objekata. Dakle, u slucaju da zelite mijenjati svojstva bilo kog objekta, prvo morate stvoriti novu kopiju kompletnog objekta ili njegovih promjenjivih i tek tad vrsiti operacije nad njim.

Popularnost

Prema Octoverse-u, Kotlin zauzima cetvrto mjesto, kao najbrze rastuci programski jezik. Programski jezik Kotlin statistika Octoverse 2020

Prema StackOverflow-u, Kotlin se nalazi na sesnaestoj poziciji. Programski jezik Kotlin statistika StackOverflow 2020

Prema PYPL-u, Kotlin je na dvanaestom mjestu. Programski jezik Kotlin statistika Tiobe 2020

Prema Google trends-u, mozemo vidjeti stabilnost Kotlin-a u proteklih godinu dana, obzirom da je relativno novi jezik na trzistu. Programski jezik Kotlin statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, Kotlin, tacnije Android developer ima prosjecnu platu na godisnjem nivou preko $123 000.

Programski jezik Kotlin statistika Indeed 2020

Prema StackOverflow-u, Kotlin developer-i mogu odlicno da zarade sa jako kratkim periodom iskustva rada.

Programski jezik Python statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Android aplikacije
  • Server-side programiranje
  • Desktop aplikacije

Programski jezik C Sharp

Programski jezik C#

Ukoliko zelite kreirati web stranice i Windows aplikacije a pritom ste .NET orijentisani, ovo bi mogao biti jezik preporuke umjesto Jave. U nekim dijelovima sintakse je dosta slican Javi kao i nekim specificnim mogucnostima.

Razvijen od Microsoft-a kao odgovor na programske jezike koji zagovaraju paradigmu objektno-orijentisanog programiranja, C# je postao dio .NET familije, nesto nalik na virtuelnoj masini kao kod Java programskog jezika.

U pocetku je bio tema kritike, predstavljan kao imitacija Jave, da bi se nakon nekog vremena uocila razlika.

U danasnje vrijeme C# je sirokoj upotrebi, ali ne samo na Windows platformama, vec je svoju primjenu nasao prilikom iOS/Android razvoja (zahvaljujuci Xamarian-u) i Linux platformi.

Kljucne karakteristike

  • C# je izasao iz sjene Java-e i izborio se za svoje licni identitet. U pogledu razvoja, kao programski jezik, jos kaska za Java-om.

  • Na trzistu 20 godina uz podrsku Microsoft-a, razvio je velik broj biblioteka i framework-a. Sluzi u svrhe web razvoja kao ASP.NET posebno na Windows-u.

  • Nalik na Java-u, C# je nezavistan od platforme i moze da se izvrsava na Windows-u, Linux-u, kao i mobilnim uredjajima.

Popularnost

Prema Tiobe-u, C# je na petom mjestu. Programski jezik C# statistika Tiobe 2020

Prema PYPL-u, C# je na cetvrtom mjestu. Programski jezik C# statistika PYPL 2020

Prema StackOverflow-u, C# se nalazi na sedmom mjestu. Programski jezik C# statistika StackOverflow 2020

Octoverse, svrstava C# na peto mjesto. Programski jezik C# statistika Octoverse 2020

Prema Google trends-u, mozemo vidjeti stabilnost C#-a u proteklih pet godina. Programski jezik C# statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, C# je i prvih pet programskih jezika sa prosjekom od 32 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $97 000.

Programski jezik C# statistika Indeed 2020

Prema StackOverflow-u, C# developer-i imaju prednost u odnosu na Java developere, uz uslov duzeg radnog iskustva, kada je u pitanju visina zarade

Programski jezik C# statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Server-Side programiranje
  • Razvoj aplikacija
  • Web razvoj
  • Razvoj igara
  • Software za Windows platformu

Programski jezik Swift

Programski jezik Swift

Primarni jezik koristen za razvoj Apple aplikacija za Mac OS X i iOS. Objektno-orijentisan programski jezik, citljiv, brz, sa podrskom za dinamicke biblioteke. Ako se odlucite iskljucivo razvijati Apple bazirane aplikacije, preporucuje se ucenje Swift-a pored Objective-C-ja. Tacnije, primarni okidac za nastanak Swift-a jeste upravo zamjena Objective-C programskog jezika.

Iako kompletna zamjena za Objective-C, Swift zadrzava odlicnu inter-operabilnost sa Objective-C kodom ali se definitivno predstavio kao primarni programski jezik prilikom razvoja iOS aplikacija. Obzirom na svoje osobine, vremenom dobija na popularnosti i u drugim domenama.

Kljucne karakteristike

  • Glavna karakteristika Swift programskog jezika je upravo njegov dizajn. Sa jednostavnom, preciznom i cistom sintaksom, nudi vecu produktivnost i bolju alternativu Objective-C-ju unutar Apple eko-sistema.

  • Swift nudi karakteristike modernih programskih jezika kao sto su “null safety” ili “void safety” (u objektno-orijentisanom svijetu obezbjedjuje da objekat nema referentnu vrijednost “null” ili “void”), kao i izbjegavanje “Pyramid of Doom” (problem vise nivoa ugnijezdenih uvlacenja koda - nested indentation) problema.

  • Velika brzina Swift-a, poput C++-a. Dobija na popularnosti u domeni sistemskog programiranja ali i drugim domenama.

Popularnost

Prema Tiobe-u, Swift je na jedanaestom mjestu. Programski jezik Swift statistika Tiobe 2020

Prema PYPL-u, Swift je na devetom mjestu. Programski jezik Swift statistika Tiobe 2020

Prema StackOverflow-u, nalazi se na petnaestom mjestu. Programski jezik Swift statistika StackOverflow 2020

Prema Google trends-u, mozemo vidjeti stabilnost Swift-a u proteklih pet godina. Programski jezik Swift statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, Swift ili iOS developer je rangiran na devetom mjestu sa prosjekom od 6 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $126 000.

Programski jezik Swift statistika Indeed 2020

Prema StackOverflow-u, Swift developer-i mogu dobro zaraditi, obzirom na relativno mali broj godina potrebnog radnog iskustva .

Programski jezik Swift statistika plata StackOverflow 2020

Zastupljenost i oblast primjene

  • iOS razvoj aplikacija
  • Sistemsko programiranje
  • Client-side razvoj (WebAssembly)
  • Deep Learning
  • IoT

Programski jezik PHP

Programski jezik PHP

Pogodan za izradu manjih i jednostavnih web stranica za kratko vrijeme. Podrzan na skoro svakom web hostingu po maloj cijeni. Cinjenica je da 80% od top deset social-media web stranica svoje postojanje duguje upravo PHP-u.

Nalik na Python, PHP svoj razvoj duguje samo jednom developer-u u ranim devedesetim godinama. Sistemski inzinjer Rasmus Lerdorf inicijalno je kreirao PHP kao set CGI (Common Gateway Interface) napisanih u C-u radi razvoja dinamiskih web aplikacija, da bi se kasnije razvio uz mnogo funkcionalnosti dodatih PHP proizvodu i prirodno evoluirao u pravi, samostalni programski jezik. Svoju sintaksu duguje C i Perl programskim jezicima.

Trenutno, PHP je dinamicki programski jezik opste namjene, prvenstveno u upotrebi za razvoj server-side web aplikacija.

Sa pojavom JavaScript baziranih client-side web aplikacija, PHP gubi na popularnosti i prepusta svoju primarnu poziciji. Suprotno misljenju, “PHP will not die soon”, primijetan je znatan pad popularnosti ovog programskog jezika.

Kljucne karakteristike

  • PHP predstavlja visoko produktivan Server-Side web razvojni programski jezik. Kao rezultat toga, u sirokoj je upotrebi prilikom brze izrade web aplikacija

  • PHP se na trzistu web aplikacija nalazi skoro 36 godina i za ovo vrijeme je razvio mnogo uspjesnih i stabilnih PHP framework-a.

  • Giganti poput Facebook-a i Wordpress-a uveliko koriste ovaj programski jezik, sto daje odlicnu podrsku i more alata zasnovanih na PHP-u.

Popularnost

Prema Tiobe-u, PHP je na osmom mjestu.

Programski jezik PHP statistika Tiobe 2020

Prema Octoverse-u, PHP zauzima cetvrto mjesto. Programski jezik JavaScript statistika Octoverse 2020

Prema PYPL-u, PHP je na petom mjestu. Programski jezik PHP statistika Tiobe 2020

Prema StackOverflow-u, PHP je na osmoj poziciji. Programski jezik JavaScript statistika StackOverflow 2020

Prema Google trends-u, mozemo vidjeti konstantni blagi pad PHP u poslednjih pet godina. Programski jezik PHP statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, PHP je na sedmoj poziji programskih jezika sa prosjekom od 18 000 radnih pozicija u Januaru 2020. godine, dok je prosjecna plata na godisnjem nivou preko $94 000.

Programski jezik PHP statistika Indeed 2020

Prema StackOverflow-u, PHP developer-i najmanje placeni u 2019 godini.

Programski jezik PHP statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Server-side aplikacija
  • Razvoj CMS sistema (Content Management System)
  • Web aplikacije

Programski jezik R

Programski jezik R

Kada je u pitanju statisticka analiza i “data science”, grafikoni, na prvom mjestu je programski jezik R. Pored navedene primjene, moze se koristiti za izradu interaktivnih web aplikacija, sa podrskom vise od 10.000 biblioteka. Posjeduje odlican IDE koji sluzi za vizuelizaciju i development, R Studio.

Napisan je u C-u, Fortran-u ali i samom R programskom jeziku. Unaprijed je kompajliran za upotrebu na razlicitim operativnim sistemima.

Kljucne karakteristike

  • Zauzima prvo mjesto kada je rijec o financijskoj industriji, zbog svojih statickih proracuna i generalnih financijskih zadataka. Svoju primjenu je nasao i u bankovnom sektoru.

  • Velika primjena u zdravstvenom sektoru, genetici, bio-informatici, istrazivanje na polju lijekova, epidemologiji i zdravsvenoj njezi uopste. Zahvaljujuci R programskom jeziku zdravstveni sektor ima mogucnost obrade velikog obima podaka i analizu istih.

  • Masinsko ucenje i predvidjanje. Rad sa Hadoop-om i HDFS file sistemima, za procesuiranje ogromnih kolicina podataka koje nalazimo u drustvenim medijima i prodaji.

Popularnost

Prema Tiobe-u, R programski jezik se nalazi na desetom mjestu. Programski jezik R statistika Tiobe 2020

Prema PYPL-u, programski jezik R je na sedmom mjestu. Programski jezik R statistika Tiobe 2020

Prema Google trends-u, mozemo vidjeti stabilnost programskog jezika R u proteklih pet godina. Programski jezik R statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, R developer ili “Data Scientist” ima prosjek plate na godisnjem nivou preko $124 000.

Programski jezik R statistika Indeed 2020

Zastupljenost i najcesca upotreba

  • Vizuelizacija podataka
  • Distirbuted computing
  • Masinsko ucenje
  • Big data

Programski jezik Ruby

Programski jezik Ruby

Poznat po popularnom web framework-u “Ruby on Rails”. Fokusiran na odradjivanje projekta. Dizajniran za zabavu i produktivno programiranje.

Ruby je treci na listi programskih jezika, razvijenih od jednog developer-a u ranim devedesetim. Japanski kompjuterski naucnik Yukihiro Matsumoto razvio je Ruby kao “objektno-orijentisan skriptni programski jezik”.

Ruby je kasnije evoluirao u interpretirani, dinamicki, programski jezik viskog nivoa opste namjene. Ruby je implementiran u C-u i nudi “garbage collection”. Nalik na Python, Ruby je iskljucivo fokusiran na produktivnost i zabavu prlikom razvoja aplikacija. Odlican je za pocetnike i veoma lako se uci.

Kljucne karakteristike

  • Ruby je kombinacija nekih od najboljih osobina ostalih programskih jezika, posjeduje “garabage collector”, nudi objekntno-orijentisani nacin programiranja, funkcionalan nacin programiranja, precizan i lak za ucenje

  • Veliku popularnost je dobio na osnovu framework-a za web razvoje “Ruby on Rails” i predstavlja jedan od najzastupljenijih i uticajnih Server-side web razvojnih alata.

  • Ruby je u upotrebi od nekih najpoznatijih kompanija poput Twitter-a, GitHub-a, Airbnb-a, pri cemu ima odlicnu podrsku zajednice.

Popularnost

Prema Octoverse-u, Ruby zauzima deseto mjesto. Programski jezik Ruby statistika Octoverse 2020

Prema StackOverflow-u, Ruby je na dvanaestoj poziciji. Programski jezik Ruby statistika StackOverflow 2020

Prema Tiobe-u, Ruby je na srecnom trinaestom mjestu. Programski jezik Ruby statistika Tiobe 2020

Prema Google trends-u, mozemo vidjeti stabilnost Ruby-ja u proteklih pet godina. Programski jezik Ruby statistika Google trends 2020

Trziste rada

Sudeci prema Indeed-u, Ruby je na prvoj poziciji programskih jezika sa prosjekom od 16 000 radnih pozicija u Januaru 2020. godine.

Programski jezik Ruby statistika Indeed 2020

Prema StackOverflow-u, Ruby developer-i mogu odlicno da zarada sa veoma malo godina radnog iskustva u poredjenju sa drugim programskim jezicima.

Programski jezik Ruby statistika plata StackOverflow 2020

Zastupljenost i najcesca upotreba

  • Web razvoj
  • Backend razvoj
  • Server-side aplikacija
  • Sistemski alati

Postoji li pravilo, kojim mogu odrediti koji programski jezik je za mene?

Ne bas, posto se o ukusima ne raspravlja :), ali prilozena sema moze biti od velike koristi prilikom donosenja odluke i nadam se da ce vam biti od koristi.

Programski jezici sema ucenja


Izvori koristeni za analizu programskih jezika, trzista i visinu plata:

  • https://pypl.github.io/PYPL.html
  • https://octoverse.github.com/
  • https://insights.stackoverflow.com/survey/2019
  • https://www.tiobe.com/tiobe-index/
  • https://trends.google.com/trends/?geo=US
  • https://at.indeed.com/?r=us
  • https://medium.com/