Programiranje

Koje programske jezike bi početnici trebalo da nauče u 2016

Veliki broj mladih programera koji tek ulaze u svet IT-a pitaju se koje programske jezike bi početnici trebalo da uče u 2016. Pokušaćemo da damo odgovore i da vidimo koji su najpopularniji jezici trenutno na svetskom tržištu.

Koje programske jezike bi početnici trebalo da nauče u 2016

Pokušaćemo da opišemo svetsku statistiku programskih jezika, koja vama verovatno ništa neće značiti, ali ćemo vam pojasniti kakvo je stanje na tržištu i čemu bi bilo korisno da se okrenete i počnete da učite od programskih jezika.

Pre početka ovog teksta je bitno da znate šta želite da radite, a ako to već znate, onda ste na pravom putu da to i ostvarite. Ne brinite što su neki podaci okrenuti inostranom tržištu, jer oko 75% programera u Srbiji radi Outsourcing, odnosno poslove za inostrane  poslodavce.

Ako ste u potrazi da naučite kodiranje, a od velikog broja programskih jezika ne znate koji biste izabrali to ume da izazove kontraefekat i da uopšte ne počnete da se bavite programiranjem.
Mi ćemo pokušati da vam predstavimo neke od njih i da vam olakšamo odabir, a kada to budete uradili, onda ćete već znati koliko možete i da zarađujete.

Ovaj post će vam dati neke smernice o popularnosti jezika, kao i o podacima koji se tiču finansijskog momenta kod programera.

Pre početka da pregledamo jezike

Dinamički jezici (Dynamic languages)

Dinamički jezici su za početnike generalno lakši za učenje i dosta fleksibilniji, a i zabavni za rad.
Poznavajuću strukturu dinamičkih jezika vrlo brzo možete napraviti neku aplikaciju “od nule” s manje linija koda i nema nekog preteranog pravila kako sve to napisati.
Kao dinamički jezici su obično “high level” jezici, tako da ćete potrošiti manje vremena pokušavajući da uradite neke detalje i uz sve to imati vremena da napredujte u učenju programskog koncepta. Drugi razlog učenja ovih jezika je što olakšava početnicima MOTIVACIJU da veoma brzo ovaladaju njime i počinju da razvijaju aplikacije ili programe, veoma brzo.

JavaScript

jsOdmah na početku da objasnimo da Java jezik i JavaScript ne treba mešati nikako, pre svega što je JavaScript (client-side) strana klijenta programski jezik za upotrebu (front-end) razvoja. To znači da razvijate i programirate ono što će posetioci nekog sajta odmah videti, odnosno programiranje nekog dinamičkog okruženja, nakon prihvatanja dizajna od strane naručioca. Tada, vi, programeri stupate u akciju. JavaScript je kompatibilan sa svim pretraživačima i koristi se za kreiranje interaktivnih Web aplikacija često i kroz njegove biblioteke, kao što je JQuery i neki od Front-end frejmvorka kao što su Angular.js, Ember.js , React i ostali.
JavaScript može da se koristi i kao (server-side) jezik preko platforme Node.js i dok je Node.js relativno nov, programerska zajednica ga već uveliko koristi i hvali, što znači da vredi. Takođe, možete razvijati neke od hibridnih moblinih aplikacija sa JavaScript-om, uz korišćenje frejmvorka kao što su Phonegap, dok Fejsbuk React Native dozvoljava da razvijate osnovne mobilne aplikacije sa JavaScriptom. Ovo znači, da treba već da krenete na posao.
Sve je ovo lepo, a sad malo teži deo JavaScript-a.
Ovaj jezik je takođe poznat i kao „težak jezik“ (untyped – ovde možete pročitati koji su to jezici) i s toga ga je teško debagovati (identifikovati grešake)
Postoje i statičke verzije kao što su Microsoft-ov Type Script ili JSX koji React koristi.

Ruby

ruby-on-railsRazvijen za potrebe programera da budu produktiviniji, kao i da se malo zabave dok rade. Razvijajući aplikacije, Ruby je napravio popularni frejmvork Ruby on Rails, koji je optimizovan i toliko dobro napravljen, da su programeri skoro pa preserećni što ovako nešto postoji.
Ruby on Rails ima toliko dobre razvojne alate da olakšava poslove, a vi dobijate gotov proizvod “bez dodatnog podešavanja (out of the box)”.
Mnogi programeri će vam preporučiti ovaj jezik kao prvi programski jezik za učenje. Ruby se koristi najviše za „backend“ razvoj, a popularni sajtovi kao Airbnb, Shopify, Bloomberg, Hulu, Slideshare i mnogi drugi su razvijani upravo na Ruby on Rails platformi.

Python

pythonPython je još jedan od jezika koji veoma preporučujemo za početnike. Trenutno se nalazi na prvom mestu kao najpopularniji uvodni jezik programiranja na američkim univerzitetima. Tako da, možete vrlo lako i profesore na našim fakultetima da pritiskate da vam pokažu kako se koristi ovaj jezik, ukoliko to već nisu uradili. Šta više, bilo bi veoma korisno da se ovaj jezik ubaci kao obavezan predmet kod nas na tehničkim fakultetima.
Programeri ga koriste podjednako za izgradnju i desktop i veb aplikacija, jer ima odlične alate za “data mining” (analiziranje podataka iz različitih perspektiva kao i sumiranje korisnih informacija).
Google, Dropbox, Pinterest, Instagram, Reddit, BitTorrent, Civilization IV, i mnogi drugi veliki Web Portali su razvijani u Pythonu.
Naša preporuka je svakako ovaj jezik.
Inače, Python jezik je dobio ime po seriji „Leteći Cirkus Monti Pajtona“ 🙂
Monty Python’s Flying Circus)

PHP

phpPHP je server-side skriptni jezik i smatra se kao početnički najprihvatljiviji jezik, jer je lako koncipirati šta će uraditi PHP ‘kod’ i nije ga teško uraditi.
Većina Web sajtova je razvijena u PHP kodu zato što je ovaj jezik potpuno specijalzovan za razvoj na Webu. Neki od najpoznatijih Web portala, Fejsbuk, Wikipedia, Yahoo, Tumblr, WordPress, i ostali su pravljeni u PHP kodu.
Zato, prionite na posao, nećete pogrešiti, a posla uvek ima kada ovladate dobro ovim jezikom, pogotovu u Srbiji.

Statički Tipski Jezici (Statically Typed Languages)

Aplikacije razvijane u statičkim jezicima su poznate po tome da su sa više promenljivih, da su stabilne i zahvalne za održavanje. Statički jezici su obično “strožiji” za pronalaženje grešaka kroz tipske provere i potrebno je više koda kucati da bi se razvio neki prototip aplikacije.
Mobilne aplikacije, aplikacije za igirce, kao i aplikacije za poslovne sisteme u „backend“-u su obično razvijane u ovim jezicima.

Java

javaKao osnovna namena jezika Java se koristi za izradu Andorid aplikacija, desktop aplikacije, kao i za igrice.
Java se takođe često koristi i za (server-side) odnosno za backend u velikim preduzećima ili poslovnim sistemima. Veliki broj kompanija i kod nas u zemlji koriste Enterprise (ERP) sisteme koji su upravo programirani u jeziku Java.
Osim toga, Hadoop je popularni Java-based frejmvork koji se koristi za čuvanje i obradu velikih podataka (BIG DATA), a takođe i za implemenitaciju u kompanijama kao što su Yahoo, Amazon Web Servisi, Fejsbuk itd…

C

Programski jezik C se često koristi kao jezik programiranja sistemskog softvera i zato je lingua franca operativnih sistema.
C jezik je uticao na razvoj skoro svih jezika koje ćemo istaći u ovom postu.
Posebno mogu da se izdvoje Objectiv-C i C++.
Dakle, ako dobro poznajete C verovatno vam neće biti problem da izaberete neki od drugih popularnih jezika za rad.
Pošto je C koncipiran tako da za recimo jednostavan zadatak mora da se napiše kroz malo kompleksniji ‘kod’,početnici se mogu malo naći kao demotivisani za dalje učenje u odabiru svog prvog programskog jezika.
Međutim, poznavanje C jezika će vam i te kako pomoći u daljem radu kao programera, jer taj jezik je suština onoga čime se mi programeri bavimo.

Objective-C / Swift (za iOS razvoj)

iosObjective-C je sloj izgrađen na C jeziku, koji je statički, ali takođe može da se koristi i za dinamičko kucanje. Apple Swift je statički jezik dizajniran da bude kompatibilan sa Objeciteve-C , a njegova statika ga čini otpornijim na greške u kodu.
Inspirisan Python-om, Swift ima za cilj da bude lak za kodiranje početnicima i tako je dizajniran da može da otklanja neke nedostatke na Objective-C. Ako već planirate da radite na iOS sistemima, onda je ovo dobar odabir za vas.

C++

cC++ je moćan jezik zasnovan na C. Namenjen je pre svega za programiranje sistemskih softvera, ali takođe može biti upotrebljen i u razvoju igrica, desktop aplikacija, mobilnih aplikacija, kao i veb aplikacija.
C++ je moćan i brz, čak je i Fejsbuk razvio nekoliko komponenti s veoma visokim performasnama i s velikom pouzdanošću, što ga stavlja u sam vrh je programskih jezika.
Ukoliko želite da se bavite izradom softvera i  da programirate softver, ovo je sigurno jezik za vas.
Da bi vas ohrabrili malo, evo nekih delova softvera u kojima je učestvovao C++ kao razvoji jezik.
Koristili su ga za razvoj nekih svojih delova softvera Adobe Sistem, Amazon, PayPal (PejPal), Chrome, Fejsbuk i drugi…
Slično kao C, C++ generalno se smatra težim jezikom za početnike da ga nauče samostalno, tako da ako se odlučite da vam C++ bude prvi jezik, onda bismo vam preporučili da ga ipak radite uz pomoć profesora na fakultetu ili predavača mentora na nekoj od škola računara u Srbiji. Biće vam sigurno lakši način učenja. Dakle, krenite već danas da učite!

C#

c-sharpC# („Si-Šarp“ C – Sharp) je razvijen da se koristi za Microsoft .NET frejmvork, koji radi pre svega na Microsoft Windows-u.
C# može da se koristi za veb razvoj, za izradu igrica, desktop aplikacija, kao i za razvoj aplikacija za industrijska postrojenja ili industrijsku proizvodnju. Na većini naših fakulteta je prisutan kao obavezan predmet što je dobro, ako se uzme u obzir njegova široka primena.
Iako Microsfot nije bio poznat po tome što su mu platforme bile kompatibilne u prošlosti, sada možemo da vidimo da Xamarin platforma radi kao open-source (otvoreni kod) na projektu poznatom kao Mono, koji ima za  cilj da pribiliži C# drugim platformama i da doprinese Linux programerima na boljem radnom okruženju za razvoj aplikacija.
Od nedavno takođe možete koristiti C# za izradu mobilnih aplikacija za iOS i za Android kroz platformu Xamarin. Naš savet je svakako da probate da krenete sa C# jer zaista daje velike mogućnosti za napredak, kao i za zaradu. Pogotvu sada kad već možete i mobilne aplikacije da razvijate veoma lako i brzo kroz Xamarin platformu.

SQL

sqlSQL (Sequel) ili Structured Query Langauge, je jezik koji se koristi za komunikaciju s bazom podataka. Iako SQL ne može da se koristi za izradu aplikacija on se koristi za upravljanje podacima u aplikacijama koje koriste relacione baze podataka za upravljanje sistemeima, odnosno RDMS Relational Database Management System.
Dakle, ukoliko kanite da se bavite izradom raznih relacionih baza podataka ili da budete administrator baza podataka (database administrator), onda se morate posvetiti SQL jeziku jer je on azbuka baza podataka.

Mogućnosti zapošljavanja

Dakle, sada kada znate nešto više o programskim jezicima i verovatno pomalo o njihovim nedostacima ili poteškoćama vreme je da vidimo kako obezbediti neku finansijsku dobit. Kako god bilo, nisu svi jezici toliko traženi, kao ni što plate za sve jezike nisu iste.
Ako je vaš cilj da naučite programiranje i da vam to ujedno bude i poslovna prilika kako biste živeli od tog posla, evo nekoliko pokazatelja na koje možete da računate, ukoliko razmišljaete da se zaposlite negde u inostranstvu. Naravno, biće reči i o zapošljavanju u Srbiji, kao i neki pokazatelji zarada.

Na osnovu procena jednog od vodećih sajtova za zapošljavanje u Americi www.indeed.com podelili smo programske jezike na 9 nivoa

prosecna-plata

Gledajući ovaj grafikon zaključujemo da je Swift najbolji za zaradu , dok Java, Ruby, Python, C++ i C su takođe pristojni izbori.
Dakle, ukoliko vam je plata prva briga, onda očigledno PHP, JavaScript , C# itd nisu pravi izbori za vas.
Ne zaboravite da je ovo dijagram američke agencije, dakle ne obeshrabrujte se odmah, jer ovi jezici su vrlo traženi u Srbiji i okolnim zemljama, a naravno i u Evropi. Biće reči i tome u sledećim postovima.

Poslovni trendovi

Pogledajmo sada poslovne trendove u programskim jezicima. Oni će vam značiti iz prostog razloga da vidite kako su se kretali poslovi, odnosno potražnja za programerima. Ovo je jedan dobar pokazatelj svih promena na tržištu IT-a u poslednjih nekoliko godina.

Koje programske jezike bi početnici trebalo da nauče u 2016

Koje programske jezike bi početnici trebalo da nauče u 2016

Na prosečnu platu može uticati više faktora kao što je potražnja (koliko objava ima oglas za posao), iskustvo (ovo se odnosi najviše na junior developere, tj programere, obezbeđenje ljudskih resursa (koliko jezika programer zna).
Tako da pre svega treba malo dublje da vidimo ove grafikone, pre donošenja bilo kakvih zaključaka.

Ovde možemo da vidimo da C, SQL, JAVA i JavaScript su najčešće spominjani u oglasima, a dok se C#, C++ i Python prikazuju kao jezici koje je dobro znati.
Međutim, ako je vaš cilj zasnovan na pokretanju StartUp-a , onda je velika vervoatnoća da pokazatelji sa sajta indeed.com nisu dobri.
Veb sajt AngelList je napravljen za prikaz mesta gde se startup-i pokreću, tako da ćemo kroz sledeće prikaze videti kakve su vam šanse tamo.
Po oglasima koji dolaze od strane AngelLista primetna je razlika u poslovima, odnosno oglasima za potražnju.

AL_jobs

Dakle ovde vidimo da je i dalje najtraženije poznavanje JavaScript jezika, ali izgleda da Startup-i pretenduju na Python i Ruby više nego Java, C, C++ ili C#.

Sad već otprilike imate ideju kakve su ponuda i potražnja za određenim programskim jezicima, zato hajmo sada da vidimo kakvo je stanje s potencijalnim platama. Pogledaćemo neke od sajtova koji se bave ponudom poslova za programere. Ovde smo naveli kao primer sajt goroo.io koji možete i sami pogledati.
Podaci su zasnovani na podacima sa sajta goroo.io u kojima je plata izvedena kao prosečna vrednost u rasponu plata koje nude pojedini oglasi za posao.

plata

Ovo su podaci iz februara, a mi koliko smo istraživali, ništa se nije zanačajno promenilo za mesec dana.
Ovde možemo videti da programeri koji znaju da programiraju u Ruby, C++ i Java, čini se da imaju veću prednost u početnim platama.
Python i Ruby imaju najveće potencijalne plate, što znači da su programeri za Python i Ruby retki i da je velika potražnja.
Što se tiče JavaScript-a čini se da su doživeli veliki pad za samo godinu dana.
U aprilu 2015 godine plate su se kretale oko 188.000 američkih  dolara, a sada su spale na 124000 $. Ipak, JavaScript ostaje ovde kao poseban slučaj i govorićemo ovde još o tom jeziku.

Poseban slučaj pod nazivom JavaScript frejmvork

Samo poređenje JavaScript s drugim jezicima je nezahvalno ako se porede zarade u JavaScript-u.
Kao što smo već spomenuli ranije, JavaScript je veoma opširna kategorija.
Mnogi frejmvorksi (okviri) su razvijani da bi se olakšao rad za front-end programere, pa samim tim ako ste programer koji poseduje samo znanje iz JQeury i  JavaScripta, verovatno ćete manje zarađivati od drugih programera koji su posvećeni JavaScript frejmvorku.
To je ta ključna razlika, naizgled mala, a ustvari veoma velika, ako se priča o zaradama.

Hajde da vidimo prosečne zarade na JavaScript okvirima (framework) u SAD (pogledajte React & Backbone koji su biblioteke, a ne okviri (frejmvorksi), a Node.js je više za radno okruženje)

Koje programske jezike bi početnici trebalo
Dakle, sada prosečna plata ne izgleda baš toliko loša, zar ne?
React.js biblioteka JavaScripta posebno ima lepu i perspektivnu budućnost.
Naravno, ovo smo napisali da biste samo dobili ideju i videli razlike, jer ako pogledate ponovo indeed.com tamo se malo razlikuju zarade i prosek im je oko 105.000 dolara.
Bilo kako bilo, potrebno je da znate JavaScript i da naučite ove tehnoglije, koje ustvari čine JavaScript još profitabilnijim.

Sada ćemo i pokazati na sledećem primeru zašto vas ohrabrujemo za delovanje u JavaScrip bibliotekama odnosno okvirima (framework).

Hajde da pogledamo zahteve za programerima koji poznaju ove okvire (framework-e):

Koje programske jezike bi početnici trebalo da nauče u 2016

Koje programske jezike bi početnici trebalo da nauče u 2016

Ovde vidimo Node.js koji služi za razvijanje pozadinskih aplikacija, odnosno za backend razvoj, ali ako govorimo o front-end i onome što svaki posetilac nekog sajta prvo vidi, onda pričamo o Angular.js koji je apsolutni pobednik u potražnji.
Što znači, da ukoliko želite da uđete u svet front-end JavaScript razvoja, verovatno ćete morati ili želeti da naučite Angular.js.

Idemo dalje, React.js biblioteka je relativno nova tehnolgija, ali njen momentum brzine razvoja i potražnje je veoma dobar, pa se zato i može uporediti sa Angularom u ranim fazama razvoja.
S obzirom da je u porastu, a i dalje u fazi razvoja, vrlo brzo može postati veoma tražen na tržištu, što se verovatno i očekuje, jer se programeri slažu da je generalno već sada bolji u performansama nego Angular.js i na taj način već obezbeđuje bolji korisnički doživljaj (user expirience).

Programerski izvori

Ako ste već upućeni u svet developera ( da ne kažemo razvijača, ali programera da:) ) onda znate da je veoma važno i korisno imati podršku drugih programera, pogotovu ako ste odlučili da sami učite kodove i programske jezike.

Biti deo programerske zajednice će vam svakako olakšati život programera, jer verujte, trebaće vam sigurno.

StackOverflow

StackOverflow je najveća programerska zajednica na Internetu.
Zajednicu čine ljudi programeri iz celog sveta, a gde se međusobno pomažu u rešavanju većih ili manjih programerskih problema. Uglavnom, na ovom sajtu ćete stvarno naći veliki broj odogovora pogotovu ako ste početnik.

Popularnost programerskih jezika

Da vidimo šta kažu tagovi u programerskoj zajednici na StackOverflow, a ovde možemo videti koji su to najpopularniji jezici koji su u upotrebi :

Koje programske jezike bi početnici trebalo

Već smo znali, kroz neka istraživanja, da u poslovnim trendovima koji se tiču programiranja ima najviše zahteva za Java i JavaScript programerima, tako da ne čudi ovaj podataka sa slike da imaju najviše pratilaca.
JavaScript je sada s najviše oznaka (tagova) na StackOverflow, čak je prevazišao i Java-u.
SQL, Ruby i Swift imaju najmanje pratilaca, ali to je verovatno zato što se Ruby koristi skoro isključivo za Web razvoj, dok je Swift relativno nov jezik.

Stopa odgovora na StackOverflow

Na StackOverflow postoji nepisano pravilo gde morate vaše pitanje pravilno postaviti kako vas ljudi ne bi smarali nepotrebnim ili nepotpunim odgovorima.

Koje programske jezike bi početnici trebalo

Na osnovu informacija iz ovog dijagrama, vidimo da korisnici SO prate C, SQL i C++, a preko 60% pitanja vezanih za ove jezike imaju i odgovore.
Oni koji već znaju i koji su upućeni u C i C++ smatraju da su ti jezici već napredni, pa se tako i podrazumeva da na pitanja najčešće odgovaraju korisnici koji su već iskusni programeri na polju ovih jezika.
SQL, s druge strane, se ne koristi za razvoj bilo čega, ali je zato neophodan za razvoj baza podataka, odnsono komunikaciju s bazama i njihovo kreiranje.

Veoma važano je videti kako su podržani programeri za Python i Ruby na SO. Početnici su poznati po tome da ne znaju baš najbolje da postave pitanje u vezi sa problemom koji ih muči u toku programiranja i kao što je pomenuto ranije, Python i Ruby su jedni od preporučenih jezika s naše strane za početnike.
Ipak, i pored toga što su relativno popularni jezici, oba jezika jedva da imaju stopu odgovora oko 60% u roku od mesec dana.
S druge stane, PHP jezik, koji je prilčno rasprostranjen i ima veliki broj korisnika, a uz to i veoma često upotrebljiv, ima najnižu stopu odgovora.
To znači da mnogo ljudi postavlja pitanje u vezi sa PHP-om, ali mnogi ostanu bez odgovora kada je ovaj jezik u pitanju.

GitHub

Jednom kad ste ušli u razvojno okruženje i počnete sa učenjem razmišljate šta je najbolje upotrebiti kao rešenje za sopstvene projekte. Obično ćete to rešenje dobiti iz open-source projekata, a GitHub je vrlo dobar put da to i dobijete.
Korisnici mogu ocenjivati projekte koji im se sviđaju i što više ocena projekat ima, to će više biti od koristi.

Tako smo ispitivanjem podataka na GitHub utvrdili da sa velikom lakoćom neki od razvojnih projekata koriste različite tipove programskih jezika.

Koje programske jezike bi početnici trebalo
Pored toga, većina projekata koji su pisani u C/C++ nisu C/C++ pravljeni za sopstveni razvoj, već su pravljeni kao alati da generalno pomognu programerima.
Na primer, najčešće se koristi u Pythonu prevodilac CPython koji je pisan u C jeziku. Kao što smo spomenuli ranije u predstavljanju programskih jezika C i C++ se koriste najčešće za razvoj sistemskih aplikacija, tako da open-source projekti na GitHubu su ustvari sistemski alati.

Ipak, mnogo toga možete naučiti iz projekata koji su open-source.

Konačno, kada je reč o PHP jeziku zaostaje u pogledu raspoloživih resursa uprkos tome što je naširoko poznat i korišćen jezik.

Što se tiče C#, Microsoft je bio u potrazi za open-source za njihove potrebe, tako da će ubuduće i ova kompanija biti više prisutna na GitHub-u.

Budućnost programerskih jezika

Pre svega budućnost jezika uveliko zavisi od rasta zajednice koja ga koristi, ali naravno da je “sveža krv” uvek dobrodošla jer će oni zadržati popularnost jezika i osigurati njegovu upotrebu novim raspoloživim resursima.

Dakle, hajde da pogledamo koji su to jezici za koje je najveće interesovanje :

Koje programske jezike bi početnici trebalo
Izgleda da Python, JavaScript, C# i Swift imaju najviši porast interesovanja.
Na osnovu trenutnih trendova možemo zaključiti sledeće:

JavaScript

JavaScript je bez sumnje najpopularniji, pogotovu sad kada može da se u njemu razvija i backend, a čak potencijalno može da se upotrebi i za razvoj mobilnih aplikacija uz pomoć React Native.
JavaScript nastavlja da razvja sve više alata, kao i česta ažuriranja, a sve to prilično velikom brzinom, tako da možete očekivati nešto veoma dobro u budućnosti .

Ruby

Startup programi vole Ruby on Rails. Mnogi poznati sajtovi kao što su Airbnb, Twitch, Hulu, itd su pravljeni na Railsu, što znači da će im biti potrebni programeri koji poznaju Ruby.
Pored toga što su programeri počeli prilično da se zabavljaju od kada rade na Railsu samim tim Rails dobija sve više na popularnosti kada je reč o kodiranju kod početnika.

Python

Python već sada slobodno možemo da kažemo postaje popularan jezik među akademskim istraživačima, programerima i načnicima koji mogu da ga koriste
u razne svrhe, a kao što smo ranije pomenuli da se koristi i na amerčkim unverzitetima i da se studenti uvode u programiranje baš kroz Python.
To znači samo da će ovaj jezik nastaviti da se razvija i da mu je stabilan rast.
Dok se Python ne razvija baš tako brzo kao što to ide s JavaScript, ipak će se po našem mišljenju još zadržati u samom vrhu jezika, jer je potražnja progrmaera veoma velika za ovaj progrmaski jezik.

PHP

Već nekoliko godina unazad pada tražnja za ovim jezikom kada je reč o backend razvoju, međutim, tu postoji jedna interesenatna stvar.
I dan danas oko 80% sajtova je izgrađeno u PHP za backend, a na kraju krajeva taj jezik je i napravljen za potrebe Web-a.
Ipak, ako malo istražite po Googlu, nećete naći neka velika ohrabrenja kao početnik da će vas neko posavetovati i ohrabriti da krente sa učenjem PHP, jer ima mnogo lakših jezika koji će vam doneti bržu zaradu.
Štaviše, neki programeri ga otvoreno i mrze, da, doslovce mrze taj jezik.

Naravno, da se PHP programeri trude da u njihovoj zajednici otklone ovu lošu reputaciju. Međutim, s obzirom na rezultate iz 2015 godine, gde se očigledno vidi stagnacija svega što je rađeno ili što se traži u PHP, ne znamo koliko će imati uspeha u tome, mada su počeli već ove godine da izbacuju nove razvojne alate.
Kod nas u zemlji su i dalje traženi PHP programeri, ali za to postoji dobro objašnjenje o kojem ćemo u nekim od sledećih postova pisati.

Java

Stigli smo i do Andorida, odnosno Java-e. Andorid je bio veliki podstrek i ohrabrenje da Java ostane jedan od najpopularnijih programskih jezika, jer ga i početnici, a i kompanije vole, i sve to samo zato što je  stabilan i skalabilan, a njima je to najbitnije.
Java je veoma koristan jezik za preduzeća, kao i za razvoj backenda jer ima izvrsne alate, tako da će ovaj jezik još dugo ostati u samom vrhu programskih jezika.

Objective-C i Swift

Od kada je Apple objavio Swift i Objective-C koji rade samo na Apple proizvodima, ne može se očekivati da će Objective-C ostati jezik budućnosti.
Swift, s druge strane, će biti jedan od relevantnijih jezika u godinama koje dolaze sve dok Apple bude imao nešto da ponudi tržištu.
Međutim, to ne znači da ne treba da učite Objective-C u 2016 godini, jer većina open-source projekata za iOS razvoj je i dalje pisana u Obejctive-C.
Generalno, koristeći nešto što ne razumete nije dobra ideja, ali isto tako i nije teško naučiti ako poznajete Swift ili obrnuto.
Dakle, iOS programeri, prionite na posao.

C

C jezik je u odnosu na ostale na niskom nivou, ali pošto su mnoge stvari, od operativnih sistema, aplikacija, velikih sistema, Linuxa i ostalih pisane u ovom jeziku, smatramo da je vrlo dobro da poznajete i C jezik, jer ipak on je lingua franca I to treba poštovati. Uvek se može naći posao u C jeziku.

SQL

SQL je kao što smo već naveli azbuka baza podataka, jer ako njega ne poznajete nećete moći ni komunicirati s bazom podataka.

Međutim ovde ima jedno malo šire objašnjenje u vezi sa SQL.

S obzirom da se kod nas i dalje ne upotrebljava u tolikoj meri Big Data, onda ćemo se zadržati samo na SQL i dati malo objašnjenje koje će vam možda koristi u godinama koje dolaze.

Činilo se da SQL gubi bitku s porastom NoSQL usluga koje su nudili MongoDB i Redis, a sa NoSQL su koristili i Big Data računarske platforme kao što su Handoop , Spark i Cassandra. Mnogi ljudi su smatrali da SQL umire.

Očigledno je da više ne misle tako, čak i ime NoSQL je morao da prizna i da izmeni u Not Only SQL

S porastom Big Data (velikih podataka) za upravljanje, SQL se našao  nezgodnoj poziciji više nego ikad. Google je skoro ažurirao svoj servis BigQuery tako da sada može da izbaci 100000 redova u sekundi po tabeli!
A, BigQuery koristi SQL!! Spark takođe ima modul SparkSQL od verzije 1.3, tačnije od tada je počeo da koristi.

Sve u svemu, SQL je koristan ponovo zato što je potreban za upravljanje velikim podacima, a ne samo za skladištenje. Tako da SQL možda nije svuda oko nas, ali skoro sa potpunom sigurnošću možemo da kažemo da će se ovaj jezik zadržati i u narednim godinama i to uvek pri vrhu.
Administratori baza krenite lagano da učite SQL, trebaće vam.

C++

I dalje se smatra jednim od najboljih u pogledu performansi i mogućnosti koje pruža.Sve ono što je veliko i dalje će se praviti verovatno u C++, i to u raznim oblastima poslovanja.
Ono što čekamo je 2017 godina da vidimo kakav će biti C++ 14, jer će biti revizija standarda, pa se očekuju i velika poboljšanja, ali videćemo kako će to izgledati.
U perspektivi Rust ima dobru budućnost da zameni C++, i to u delu koji se tiče ranjivosti softvera, odnosno sistema.
Rust se razvija da bi se pravili manje ranjivi softveri nego ranije.

Ovaj jezik je za naprednije programere, ali ako ste već zainteresovani za C++
onda obratite pažnju na Rust performase, jer će vam svakako služiti ako su u pitanju razvoji nekih sistema na kojima biste voleli da radite jednog dana.

C#

Što se tiče C# treba napomenuti da je on veoma tražen u Srbiji.
Dakle ako kanite da se bavite programiranjem, jedan od jezika koje biste trebali da učite jeste svakako C#.
Iskustva programera koji su radili u C, potvrđuju da vole da rade i u C#.
Ovaj jezik vole kompanije, jer im služi za pravljenje nekog proizvoda, kao i za sam razvoj preduzeća jer ima široku primenu, a  kod nas je tražen u nekoliko grana industrije. S obzirom da je kod nas prisutan Microsoft  skoro u svim firmama, onda bi ovaj podatak trebalo da vam da podstrek da počnete s učenjem C#.

Zaključak

Dakle, koji jezik bi početnik trebao da nauči?

Hajmo sada da razjasnimo sve.
Ukoliko želiš da se baviš veb razvojom (web development-om), onda je neminovno nauči JavaScript, svidelo se to tebi ili ne.
Ako želiš da radiš backend razvoj, odnosno backend development, moraš naučiti i neke od SQL formi ili od gore navedenih jezika koji se bave backendom.

Osim toga, ako želiš da razvijaš sajtove za prenos podataka ili ako si zainteresovan za neke istraživačko-naučne sajtove, odnosno takve tipove podatke, onda je vreme da kreneš s Python programskim jezikom koji je inače i veoma dobar i lako se uči.

Ukoliko si tip koji više voli da radi za kompanije ili velike sisteme, onda je Java prava stvar za tebe i  zato kreni već sad da čitaš, jer je obimno gradivo, ako pričamo o kompanijskom angažovanju.

Ako nisi zainteresovan skoro ni za šta od svih gore navedenih jezika, možda se pronalaziš u kreiranju i razvoju baza podataka, pa ti tako više odgovara SQL… Ukoliko je to u pitanju, onda kreni već da učiš SQL, Oracle, MySQL i sve ono što se tiče baza podataka, jer možda neka firma već čeka na tebe!

Sve u svemu, koji programski jezik ćeš učiti u 2016 u mnogome zavisi od toga šta ti zapravo želiš.

Ukoliko želiš da saznaš kako da kodiraš, a potrebna ti je literatura, onda sačekaj neki sledeći post gde ćemo pričati malo više o tome, a do tada….
Tu je dobri stari Google pa kreni da istražuješ!

Ako vam se svideo post, slobodno ga podelite kako bismo širli dobru reč o programiranju! 🙂

Dodaj komentar