Unutar renesanse Java jezika
„Java je stara, dosadna i namenjena samo korporacijama!“ – tako je jedan softverski inženjer uzviknuo svom kolegi dok su zajedno plovili čamcem kroz deltu Sacramento-San Joaquin.

Kako Java postaje jednostavnija, izražajnija i orijentisana na podatke
Nalazili su se negde između poslovnog sagorevanja i koderske krize srednjih godina. U tom trenutku rodila se želja da se kod ponovo piše sa uživanjem. U potrazi za osveženjem, dvojac je 2009. godine pokrenuo konsultantsku firmu zasnovanu na Ruby-ju, a već 2011. prešao je na programski jezik Go, čak je moguće da su među prvima objavili oglas za posao na poznatoj go-nuts mejling listi. Petnaest godina kasnije, situacija se potpuno promenila — Java doživljava pravu jezičku renesansu, a zanimljivo je da je upravo jedan od njih sada deo tima koji vodi tu transformaciju.
Od statične i kompleksne ka dinamičnoj i čitljivoj
Povratak u 2005. godinu otkriva koliko je Java tada bila ograničena: bez lambda izraza, bez stream-ova, bez generičkih tipova i bez fleksibilnog switch izraza. Dok je većina programera koristila Javu 1.4, David Heinemeier Hansson je uživo na bini demonstrirao kako za 16 minuta može da napravi funkcionalni blog koristeći Ruby on Rails — i to bez ijedne reči o “enterprise” sistemima ili “bean”-ovima. Tokom naredne decenije, pažnja se zadržala na Ruby-ju i Go-u, bez mnogo interesa za Javu, čiji se napredak odvijao tiho, ali ubrzano. Prekretnica je nastupila nakon što je njihova firma bila preuzeta, a jedan od osnivača se pridružio Java Platform timu unutar Oracle-a, gde je postao direktno uključen u savremeni razvoj jezika.
Šestomesečni ciklus izdanja: Stabilnost i predvidljivost
Odavno je iza nas vreme kada je Java čekala godine na novo izdanje. Danas se nove verzije objavljuju na svaka šest meseci, precizno svakog utorka u 12. i 38. ISO nedelji. Ova praksa traje već više od 7 godina, i omogućila je:
- Brže uvođenje novih funkcionalnosti,
- Postepenu nadogradnju velikih funkcija (npr. pattern matching),
- Predvidljivost za kompanije koje zavise od Jave,
- Mogućnost testiranja „preview“ funkcija kroz stvarnu upotrebu.
Neki od ključnih dodataka poslednjih godina uključuju:
- record klase,
- pattern matching,
- virtuelne niti,
- foreign function i memory API,
- GC sa ultra niskom latencijom.
OpenJDK: Zajednica kao temelj
OpenJDK, pokrenut 2006. godine, nije proizvod, već platforma za saradnju. U njemu se razvijaju projekti, vodi se diskusija kroz mejling liste i razrađuju JDK Enhancement Proposal-i (JEP). Oracle doprinosi većinu koda, ali i drugi partneri i entuzijasti širom sveta.
Oracle takođe distribuira Java verzije pod različitim licencama: od open-source (GPLv2 sa Classpath izuzetkom), do komercijalnih izdanja sa dugoročnom podrškom.
Project Amber: Srce jezičke evolucije
Project Amber, pod vođstvom Briana Goetza, transformiše Javu kroz tri glavna pravca:
- Veća izražajnost – manje šablonskog koda, više smisla u jednoj liniji.
- Orijentisanost na podatke – kod je više usmeren na rukovanje podacima nego na poslovnu logiku.
- Pojednostavljenje – pristupačnost za početnike i male programe.
Zajedno, ove promene čine Javu manje sklonom greškama i lakšom za čitanje i održavanje.
Primer modernog korišćenja:
Zamislite da pišete Slack bot koji:
- prima zahtev korisnika,
- kontaktira vaš CRM API,
- koristi LLM za generisanje odgovora.
Umesto da modelujete sve klasama, koristite:
- record za JSON odgovor,
- pattern matching za dekompoziciju podataka,
- sealed classes za potpunu analizu,
- text blocks za formiranje LLM prompta.
Java za početnike i skripting
Nove mogućnosti poput:
- pokretanja .java fajlova bez prethodne kompilacije,
- “shebang” podrške (npr. #!/usr/bin/java),
čine Javu pogodnijom i za skripting i edukaciju — što je ranije bio svet rezervisan za Python ili Bash.
Zaključak
Java danas nije samo platforma za velike poslovne sisteme. Ona se razvila u jezik koji je zabavno koristiti, koji prati moderne stilove programiranja, olakšava rad s podacima i pristupačnija je nego ikad ranije.
Ostanite u toku — Java se vraća u velikom stilu.
Izvor: Thenewstack


