U samom uvodu ovog teksta želeo bih da vam prenesem svoje iskustvo, ponudim nekoliko saveta u vezi sa tehnologijama i njihovom primenom, napišem kratak vodič kroz jezike koje sam i sam prošao i kako sam, učeći, postao Frontend programer.
Prvo pitanje koje treba da postavite sebi i budete realni sa odgovorom –“Zbog čega želim da se bavim programiranjem?” Veoma jednostavno, zar ne? Zašto je najvažnije pozabaviti se ovim pitanjem? Upravo zbog toga što programiranje i rad u IT firmama pored cool stvari, dobre zarade, česte organizacije meetup-ova, druženja, izleta, remote rada, postoji i druga strana – a to je velika odgovornost, požrtvovanost i posvećenost u cilju učenja novih tehnologija i napredovanja, a sve u cilju praćenja novih trendova u vremenu gde je tehnologija uzela velikog maha i brzo napreduje.
Bitne stvari koje treba imati na umu prilikom ulaska u svet kompjutera, programiranja ili nekog drugog IT posla su:
Programming Language
Dakle imamo osnovne podele (pravce) a to su: Operativni sistemi, aplikacije za telefone, web aplikacije i web generalno, VR, AR, Game development, Robotika, Mreže, Sistem Administratori, DevOps, IoT.
Popularni programski jezici:
Java, C, C#, C++, Objective-C, JavaScript, PHP, Python.
Najviše se koristi za android aplikacije. Takođe imamo veliku primenu u IoT. Java je veoma portabilna, cross-platform, (JVM) – java virtual machine. Inače je statically-typed jezik što znači da se code proveri pre nego što se aplikacija izbilduje. Dizajnirana je da bude slična C++. Java je OOP – objektno orijentisano programiranje.
Najpoznatiji framework – Spring.
U Javi su napisane mnoge stvari, najpoznatije: Eclipse, Hadoop, Android, App za Android…
* Statically typed language je brži od dynamically typed.
Programski jezik koji je namenjen konkretno za web – njegov fokus je na backend-u, programiranje web aplikacija na serverskoj strani. Veoma popularan i tražen jezik jer ipak, kao i kod JS, veliki deo web-a radi na php-u. PHP je dynamically typed. Najpoznatija web aplikacija napisana u PHP-u je upravo Facebook.
Veoma svestran jezik, nalazi primenu skoro svuda, moćan i jednostavan za učenje. Preporučuje se za početnike jer razvija dobru logiku programiranja. Njegova moć i raznovrsnost se ogleda u tome što može da bude dobar kako za web aplikacije (backend framework Django) tako i za data analize, AI, analize u naučne svrhe. Većina developera koristi Python kako bi napravili neki tool ili mini igricu za raspberry pi ili arduino. Python je dynamically typed jezik, međutim kao takav je dosta brz.
Stvari napisane u Python-u: Atom, Eclipse, Sublime Text, PyCharm, Blender, BitTorrent, part of Ubuntu, Civilization VI koristi Python za većinu taskova, Overwatch.
JS nam omogućava da gradimo interaktivne web sajtove. Kao glavni programski jezik koji se koristi u webu, na frontend delu web-a nosi veliku popularnost – iz njega proističe mnoštvo framework-a i biblioteka kao što su React, Vue, Angular, Ember, jQuery. Primenu JS odnosno njegovog frameworka možemo naći i u backend-u, nodeJS-u, a isto tako i sa electronom može napraviti cross platform desktop aplikaciju. Kao dynamically typed jezik, JS je spor za pravljenje desktop aplikacija ali koristi se i sve je bolji u tome. JS, kao i PHP, je zaslužan za ceo web, tako da nema smisla nabrajati šta je sve napisano u JS-u.
Popularnost Ruby jezika nalazimo prvo u njegovoj sintaksi koja je, pa skoro, kao da pišete nešto na engleskom jeziku. Ruby on Rails je framework koji je u stvari full stack web framework.
Dizajniran sa ciljem da programiranje načini lakšim i zabavnijim, našao je primenu u webu a isto tako i u pravljenju igrica. Ruby je dynamically typed jezik.
Nadam se da, nakon svega ovoga, imate bar malo jasniju sliku o tome kako izgleda put ukoliko se odlučite za programiranje. I nebitno je za koji jezik ste se opredelili, bitno je da istrajete u učenju istog. Učenje programiranja najbolje je kroz fakultet ili neki licencirani kurs, ali kroz celo školovanje bitno je motivisati sebe da učite i sami. Ako si gamer napravi tic-tac-toe, sudoku ili flappy bird. Pratite logiku same aplikacije.
Ako želis da bolje razumeš frontend, napravi svoj sajt.
Ako želis da napraviš full proizvod, web aplikaciju ili slično počni tako što ćeš napraviti neki online bookstore, blog, upotrebi google maps api za svoju ličnu web navigaciju.