Da li je Java mrtva? Nije, i evo zašto

Zbog Minecrafta, između ostalog.

prenosimo - 26. Jul, 2016.

Pitanje “Da li je Java umrla?” iskače godinu za godinom, a opet, po svim spoljašnjim pokazateljima, Java je živa, zdrava i raste. Dok noviji jezici pune naslove, TIOBE je rangirao Javu kao svoj top jezik 2015. godine [kao i 2016.], a trenutno pokazuje rast u korišćenju od 5% od 2014. godine, što je više od bilo kog drugog jezika.

Screen Shot 2016-07-26 at 9.58.10 AM

Dalje, PYPL Index, koji rangira jezike zasnovano na frekventnosti pretraživanja tutorijala na Google-u, pokazuje da je Java na samom vrhu sa 23.9% svih pretraga.

Iako postoji nekoliko razloga za veliko oživljavanje Jave tokom protekle dve godine (eksplozija razvoja Androida, puštanje Jave 8, razvoj Spring zajednice, posebno Spring Boota), dominacija tržištem dolazi prevashodno od sjajnog proizvoda. Evo zašto mislimo da Java ne ide nikuda:

JVM i Java ekosistem

Java Virtual Machine ili JVM kompajlira programe u bajtkod, koji potom interpretira i ispunjava kroz JVM. Zbog toga što je JVM smešten nad određenim hardverom i operativnim sistemom, dozvoljava Javi da radi na svemu: Windows mašini, Macu, ili nekom obskurnom Linuxu.

Velika prednost koju nudi JVM jeste povećana kompatibilnost i stabilnost. Kako vaša aplikacija radi na VM umesto direktno na hardveru, možete da programirate aplikaciju jednom i da verujete da će raditi na svakom uređaju sa implementiranom Java VM. Ovaj princip je osnova Javine poruke: “Napišite jednom, radite svuda”. Ovo čini Java aplikacije vrlo otpornim na fundamentalne promene u sredini.

Bezbednost i interoperabilnost

Android sredina je odličan primer za izučavanje unutrašnje bezbednosti i interoperabilnosti Jave. Android, koji čini 89% svetskog mobilnog tržišta, radi na Javi. Kako Java dozvoljava OS na virtuelnoj mašini, nema potrebe za rekompajliranjem za svaki uređaj, što pospešuje i stabilnost sistema i upotrebljivost.

Još jedna beneficija Androidovog savršenog prikaza Jave jeste njegova interoperabilnost sa drugim JVM jezicima, poput Scale, Groovy-ja, Clojure-a, JRuby-ja, itd. Uspevate da izgradite aplikaciju u još dinamičnijem jeziku po izboru, i dalje se oslanjajući na Javu ako vam je potrebno više konjske snage.

Ovo ogromno Android tržište nasledilo je rizik od eksploatacije. Android + Java dozvoljava korisnicima da puštaju aplikacije kojima se može polovično verovati i smanjuje rizik od pokretanja svih aplikacija u virtuelnoj mašini. Tako da bi jedini način na koji aplikacija može da eksploatiše jezgro OS-a bio kroz pukotinu u implementaciji VM-a, koja je nužno mala i zaštićena dobro definisanom bezbednosnom površinom.

Java u proizvodnji

Amazon, Google, eBay i mnogi drugi veliki e-commerce brendovi koriste Javu za sopstvene backend procese. Koriste je zato što je potvrđena i skalabilna. Bilo koji jezik, bilo koji backend može da podrži gomilu korisnika, ali Java može da se nosi sa 200m ili više pouzdano. Hajde da pogledamo nekoliko značajnih primera:

Hadoop

Apache Hadoop je Java framework za puštanje aplikacija na velikim klasterima hardvera. Dizajniran je tako da može da pruži visok protok za aplikacije koje manipulišu ili drugačije rukuju velikim setovima podataka. Danas Hadoop koriste kompanije poput Facebooka, Amazona, IBM-a, Joosta i Yahoo-a, za procesuiranje podataka, analizu ili generisanje izveštaja.

Kreator Hadoopa, Dag Kating, je rekao:

Java pruža dobar kompromis između produktivnosti developera i trajanje performansi. Developeri imaju korist od jednostavnog, moćnog, type-safe jezika sa širokim poljem visoko kvalitetnih biblioteka.

Jednostavno: big data ne bi postojala bez Hadoopa, a Hadoop ne može da postoji bez Jave.

Twitter

twitter

Twitter je bio velika pobeda za Javu i Oracle tim. Iako isprva napisan u Ruby on Rails, popularnost Twittera otkrila je manjak skalabilnosti RoR-a.

Posrnuli kit (upozorenje koja pokazuju preopterećenje mreže) postao je sve češći, sve dok se Twitter nije prebacio na Javu, 2012. godine. Danas Twiter radi na Java + Scala, a Posrnuli kit više ne postoji.

Minecraft

Minecraft je ludački uspešna video igra. Zaradila je milione dolara za svoj razvojni tim čak i pre prodaje Microsoftu za 2.5 milijarde dolara 2014. godine. Minecraft radi uz pomoć Jave.

Veličina Java zajednice pomogla je Minecraftu da se proširi na stotine hiljada potencijalnih modelera. U isto vreme, Minecraft je uveo u Javu čitavu novu generaciju developera. Brzinska pretraga na Google-u “pravljenje modova u Minecraftu” daće vam 653k rezultata, a mnoštvo njih namenjeno je obučavanju dece mlađe od 12 godina programiranju.

Jedna od ovih open source alatki je Eureka, koju koriste za detekciju tipa uređaja koji korisnik koristi za lansiranje Netflixa i proveru svih pokreta i skorih aktivnosti u cilju obezbeđenja sigurnosti naloga.

Budućnost Jave

Prošle godine je Oracle najavio očekivani dolazak Jave 9 za septembar 2016. godine. Ovaj update bi trebalo da obuhvati razlaganje mnogih funkcija jezika u nekoliko manjih komponenti, što se vidi kao promena koja će učiniti Javu bržom i pristupačnijom.

Ulaganja Oracle-a (iako često omalovažavana i osporavana) definitivno su omogućila Javi da nastavi sa podrškom brojnim firmama koje se oslanjaju na nju, ali istovremeno i da reaguje na nove trendove razvoja.

Java i IoT

Zaista verujem da je Java budućnost IoT-a. Voleo bih da vidim da se Oracle i partneri usredsrede na kompletno end-to-end rešenje za skladištenje za Javu, za sve: od uređaja, gateway-a i poslovnih backenda.

Uspešno razvijanje te priče obezbediće postojanost Jave u narednih 20 godina. Ne samo da je to ogromna prilika za industriju, već i prilika sa kojom Java može da se nosi baš dobro,

rekao je Majk Milinkovič, izvršni direktor Eclipse fondacije.

Oracle se slaže. Prema potpredsedniku razvoja Žoržu Sabu,

Java je odlična tehnologija za IoT. Mnogi izazovi interneta stvari su isti izazovi sa kojima su se suočili desktop i client, a kojima je Java pomogla 1990-ih. Postoji više različitih hardverskih okruženja.

Želite da vaši developeri gledaju bilo koji deo sistema, da ga razumeju i nastave dalje. Java je jedna od nekolicine tehnologija koja nam i omogućava da ovo ostvarimo.


Članak je prevod i adaptacija teksta “Is Java Dead? No! Here’s Why…” koji u originalu možete pročitati ovde.