Popularni programski jezici – koji je tvoj sljedeći izazov?
Poznavanje više programskih jezika nije ništa novo za programere u Hrvatskoj.
Zašto je to tako?
Jednostavno – naši IT-evci velikim dijelom rade za strane tvrtke i klijente. Konkurencija je velika i svaka ušteda vremena i resursa iznimno je važna.
Veliki broj IT tvrtki prelazi na nova, efikasnija rješenja, kako bi brže i lakše završavali svoje projekte i lansirali nove proizvode na tržište.
Razlog zašto trebaš učiti novi jezik nije hir poslodavaca već potreba industrije. Na to ne možemo utjecati – preostaje nam samo prilagoditi se tržištu i pronaći najisplativiji ili najlakši jezik ovisno o našim ambicijama.
Kako bi ti uštedjeli dragocjeno vrijeme (ali i dali kvalitetan materijal za odugovlačenje dok tražiš rješenja zašto ti kod ne radi) – sastavili smo listu 5 trenutno najtraženijih programskih jezika.
Prilikom odabira stavili smo u fokus njihove prednosti i mane, kao i u kojim područjima se najčešće koriste.
Kotlin
Kotlin je jezik koji se prvenstveno koristi za Android software development. Iako vrlo mlad jezik (nastao 2016.) njegova popularnost kreće s brzim porastom modernih Android aplikacija. Prema Googleu oko 60% Top 1000 aplikacija na Play Storeu napisano je u Kotlinu.
Kotlin je idealan za programere koji žele napredovati u području razvoja Android aplikacija.
Neke od najpopularnijih aplikacija napisanih u Kotlinu: Trello, Evernote i Coursera.
Prednosti:
- Dobra kompatibilnost s Javom
- Jasan i kompaktan codebase (do 40% manje koda u odnosu na Javu)
Mane:
- Ograničena baza znanja
Za što se koristi:
- Android Apps Development
- iOS Apps Development
- Web Development
- Data Science
- Data Analytics
- Game Development
Kompleksnost: Jednostavan za učenje
Izvori za učenje:
https://developer.android.com/kotlin
https://www.codecademy.com/learn/learn-kotlin
Scala
Scala je jedan od trenutno najpopularnijih jezika koji se koristi za kompleksne projekte u business software industriji. Kombiniranjem funkcionalnog s objektno orijentiranim programiranjem, Scala je vrlo kompaktan i moćan jezik.
Scala je idealan jezik za programere koji koriste Javu i žele unaprijediti svoja znanja.
Neke od najpopularnijih platformi koje koriste Scalu su: Twitter, Airbnb i LinkedIn.
Prednosti:
- Odlična IDE podrška
- Kompatibilan s Javom
Mane:
- Komplicirana sintaksa u odnosu na Javu
Za što se koristi:
- Big data projects
- Communications platforms
- Data pipelines
- Data processing
- Ad-serving
Kompleksnost: Težak za učenje
Izvori za učenje:
https://docs.scala-lang.org/learn.html
https://www.scala-exercises.org
Golang (GO)
GO je open-source programski jezik iz Google obitelji. Koncipiran na C-style jezicima, dosta je lak za programere koji koriste C# i C++, ali i za početnike zbog jednostavne sintakse. Vrlo fleksibilan jezik koji može procesuirati velike količine informacija.
GO je idealan za programere koji žele napredovati u području programiranja sistema.
Tvrtke koje koriste GO su: Google, Uber, Pinterest itd.
Prednosti:
- Jednostavna sintaksa
- Pouzdan built-in security
Mane:
- Ograničen broj frameworka
Za što se koristi:
- Cloud services
- Media platforms
- Google products
- On-demand services
Kompleksnost: Jednostavan za učenje
Izvori za učenje:
https://www.codecademy.com/learn/learn-go
Python
Kako su data science i machine learning trenutno dosta aktualni, Python je postao jedan od najtraženijih programskih jezika. Iako star preko 30 godina, njegova popularnost je naglo porasla najviše zbog jednostavne automatizacije s internet pretraživačima, grafičkim korisničkim sučeljem, ali i zbog Googleovih investicija prethodnih godina.
Python je idealan za programere koji razvijaju web automatizacije.
Tvrtke koje koriste Python su: Instagram, Spotify, Netflix itd.
Prednosti:
- Jednostavna sintaksa
- Open-source model
Mane:
- Ne podržava mobile development
Za što se koristi:
- Web development
- Desktop apps development
- Machine learning
- Web automations
Kompleksnost: Jednostavan za učenje
Izvori za učenje:
https://www.codecademy.com/learn/learn-python
https://www.python.org/about/gettingstarted/
Ruby
Ruby je objektno orijentiran backend programski jezik koji se masovno koristi za web development s fokusom na SaaS (Software as a Service) i marketplace platforme.
Ukoliko radite na prototip projektima ili želite lansirati web aplikaciju u rekordnom roku - Ruby je pravi izbor.
Tvrtke koje koriste Ruby su: AirBnB, Bloomberg, Spotify itd.
Prednosti:
- Velika baza znanja
- Vremenska efikasnost
Mane:
- Nedostatak fleksibilnosti
Za što se koristi:
- SaaS development
- Marketplace development
- Custom database solutions
- Content management solutions
Kompleksnost: Jednostavan za učenje
Izvori za učenje:
https://www.learnrubyonline.org
https://www.codecademy.com/learn/learn-ruby
https://www.ruby-lang.org/en/documentation/quickstart/
Solidity
Solidity je objektno orijentiran programski jezik za pisanje pametnih ugovora. Koristi se za provedbu pametnih ugovora na raznim blockchain platformama, najviše na Ethereumu.
Ako želiš raditi na razvoju aplikacija na Ethereumu i istražiti brojne mogućnosti koje pružaju blockchain tehnologije – Solidity je pravi izbor za tebe.
Prednosti:
- Pisanje sigurnih, transparentnih i pouzdanih pametnih ugovora
- Vremenska efikasnost
Mane:
- Jezik je relativno nov pa nema puno izvora za učenje
- Jednom kad je pametni ugovor napisan, ne može se unaprijediti, dodati nova funkcionalnost, itd.
Za što se koristi:
- Dizajniranje i implementacija pametnih ugovora na blockchain platformama
Kompleksnost: Težak za učenje
Izvori za učenje:
https://ethereum.org/en/developers/learning-tools/
https://docs.soliditylang.org/en/v0.8.11/
Koji jezik odabrati?
Odgovor je jednostavan. Onaj koji je kompatibilan s tvojom specijalizacijom ili jednostavno onaj koji se koristi u sferi u kojoj želiš napredovati.
Želiš kreirati Android aplikacije - tu je Kotlin. Želiš lansirati svoj marketplace - tu je Ruby.
Pogledaj Joberty oglase i pretraži koji jezici su najtraženiji primjenjujući filter po tehnologiji - možda ti to pomogne da odlučiš!
Koja god bila tvoja odluka – to je jedan skill set više koji će ti se prije ili kasnije isplatiti.