Kako je Java evoluirala od revolucionarnog do uhodanog jezika i zašto i dalje s fakulteta ne izlaze "gotovi" Java developeri popričali smo s Domagojem Madunićem, koji je CEO tvrtke AG04 i jedan od pionira Java razvoja u Hrvatskoj.
Post Svaki fakultet računarstva predaje Javu, ali ni iz jednog ne izlaze gotovi Java programeri je prvi puta viđen na Netokracija.
Programeri Javu uglavnom ili vole i nabrajat će sve njene mogućnosti i primjene, ili je jednostavno mrze, ali u svakom slučaju zauzima vodeće mjesto među bekendaškim programskim jezicima, a Java developeri uvijek su traženi.
Nije teško razumjeti zašto je Java toliko popularna, još od kasnih devedestih pa sve do danas. Domagoj Madunić, CEO tvrtke AG04, jedan od pionira Java razvoja u Hrvatskoj, prisjeća se kako se prvi put susreo s Javom, jezikom koji je obećavao gotovo nemoguće – kompatibilnost:
U godinama 1999-2000 bio sam CTO i suvlasnik startupa (da, i tad su postojali startupi) koji se bavio turističkim bookingom na Internetu. Programirao sam u C/C++. Točno u to vrijeme pojavila se Java 2 sa svojom krilaticom “Write once, run anywhere” i tada je ta ideja sama po sebi bila prilično revolucionarna. Tada su svi imali isti problem, a to je nekompatibilnost jezika na različitim platformama. Oni koji su radili na Unix-u obično su programirali u C-u, a to što su iskompajlirali u C-u nikako nije htjelo raditi na Windowsima… Java je tada ponudila rješenje za taj problem i taj su model kasnije iskopirali brojni drugi programski jezici.
Druga motivacija za prihvaćanje Jave kao preferirane razvojne okoline bila je tadašnja velika ekspanzija Interneta i Weba, dodaje Domagoj, a najzrelija platforma za razvoj prvih web aplikacija bila je upravo Java.
Od kraja devedesetih do danas se puno toga promijenilo – danas je mnogo jezika koji nude istu premisu kao i Java, a i Domagoj više ne radi u startupu. Trenutno vodi firmu od 55 ljudi kao CEO i CTO, pa iako se “ne može izliječiti” od programiranja, ima i neku drugu perspektivu. Java ga više ne privlači jer je “revolucionarna”, već upravo zato što je uhodana:
Danas, moja motivacija leži u apsolutnoj raširenosti Jave u segmentu enterprise razvoja softvera. Java je danas izrazito zreo ekosustav, s nevjerojatnim bogatstvom biblioteka. Trenutno ne postoji neki drugi eko sustav s tolikom širinom. Java je zrela i razigrana, to je nevjerojatno moćan karakter za jedan programski jezik.
Jedna od velikih prednosti, ističe Domagoj, je dostupnost znanja i dostupnost developera u određenoj razvojnoj okolini. Java je tu i dalje dominantno #1 po popularnosti, a samim tim je i lakše ekipirati se.
Najveći broj velikih kompanija razmišlja kao i mi, Java je svugdje. Nije slučajno da je Google odabrao Javu za Android development, koristeći tako činjenicu da na svoju mobilnu platformu odmah privuče ogroman broj developera.
NodeJs, Ruby, GoLang, Python, Scala, Kotlin, jezika je svakim danom sve više – pa ima li mjesta za sve?
Fora je što se razvija puno novih programskih jezika. Radimo u industriji koja se treba stalno nanovo otkrivati, jer je još uvijek jako mlada. Ove jezike koje navodite dijelim u dvije grupe: one koji se izvršavaju unutar Java virtualne mašine i one koji se izvode u drugim okolinama. Java virtualna mašina je najvažnija stvar u Java svijetu i dobro je da se na njoj pojavljuju novi jezici koji demokratski postavljaju nove standarde. Neke od tih standarda prihvati i sama Java, a neki ostanu implmentirani samo u npr. Scali i Kotlinu što im daje određenu diferencijaciju. Osobno sam koristio Scalu i Kotlin unutar JVM-a i sviđaju mi se.
Ima mjesta za sve, kaže Domagoj – uglavnom su i kompatibilni s ostatkom Java ekosustava pa svi idu pod istu mentalnu mapu.
Od jezika koji se razvijaju van JVM-a simpatičan mi je “Go” programski jezik i imamo projekte na njemu. Donosi modernu razvojnu okolinu uz kvalitetnije performanse. Python je pronašao svoje mjesto u sistemskom managementu i data scienceu, a i NodeJs ima svoje mjesto pod suncem. Sve ove jezike mi koristimo u timu, ali Java ipak rješava najveći broj naših projekata i vjerujem da će tako ostati sljedećih 5 godina.
Činjenica da je Java “svugdje”, znači i da je zastupljena na gotovo svakom fakultetu koji se bavi programiranjem i računarstvom, no kako ističe Domagoj, to ne znači da s njih izlaze “gotovi” Java developeri:
Na većini tehnoloških fakulteta koji imaju računalski program, postoji kolegij iz programiranja u Javi. Problem većine fakulteta je što polaznici tih kolegija nauče osnovu Jave, a razvijanje bilo kakvih poslovnih projekata u Javi zahtijeva mnogo veće kvalifikacije od samog poznavanja jezika. Dakle, na tržište rada praktično ne izlazi gotov proizvod, čak ni za startnu juniorsku poziciju. Sveučilišta će producirati čovjeka koji će dobro poznavati sam jezik Java, ali to nije dovoljno. Postoje još dva seta parametra koje treba uzeti u obzir, a to su poznavanje Java ekosustava i poznavanje standardnih modernih programskih praksi.
Da bi pomogli studentima da lakše savladaju tu tranziciju sa Sveučilišta u poslovno okruženje razvoja softvera, AG04 organizira petotjednu edukaciju Spring Boot Summer School:
Spring je baš taj dio znanja koji sveučilišni programi za sada relativno nedovoljno prenose. Svaki polaznik će imati svog mentora, koji će ga voditi kroz cijeli proces. Od studenata koji prođu Summer School, dio će dobiti priliku i pridružiti se našem timu, ali svaki od njih će dobiti vrijedno i besplatno znanje za svoj budući rad. Ovakve koncepte ćemo samo širiti i uvoditi nove programe, jer prihvaćamo svoj dio odgovornosti za edukaciju i formiranje stava o tome što je “gotov Java developer”.
Prijave su otvorene do 5. srpnja,
Post Svaki fakultet računarstva predaje Javu, ali ni iz jednog ne izlaze gotovi Java programeri je prvi puta viđen na Netokracija.
02/07/2018 12:04 PM
2014 © Hrvatske aplikacije i vesti