https://openjdk.org/jeps/458 je sileny :) Vsichni tady AOT compiluji jak divy, mandrel, quarkus, spring native, graal... A ted todle :))
Na druhou stranu sem za to rad - zbavit se ruznych groovy a ja nevim ceho vseho by bylo krasne. Az se to zbavi i main methody, tak ztoho bude config as code v jave?-)
Ianc je zajimavy se kouknout na implementaci. je silene jednoducha. Je to jen samostatny classlaoder ktery nejdriv helda na CP classu, akdyz ji nenajde, tak .java. A kdyz ho najde, tak ho zkopiluje a ulozi do jakesi hashmapy ala <FQN,byte[ ]>
navic, jelikoz to pocita s CP, tak je to prime a jednoduche volani javac. Rychlsoti to zda se zatim prilis neoplyva, ale spatny to uplne neni.
Java nikdy nenahradí Groovy. Groovy je famózny expresívny skriptovací jazyk. Stačí sa pozrieť na GINQ; vyzerá to byť oveľa prepracovanejšie ako C# LINQ... Groovy má tiež grapes, čo je veľmi jednoduchý a priamočiary spôsob importu knižníc.
Čo je však zaujímavé, Java po novom môže spúšťať viaceré súbory oveľa jednoduchšie ako Groovy.
A Java ide ešte ďalej. V 23jke bude možnosť použiť println
namiesto
System.out.println
. Plus pribudnú automatické importy ala C#.
import module java.base; void main() { var authors = List.of("James", "Bill", "Guy", "Alex", "Dan", "Gavin"); for (var name : authors) { println(name + ": " + name.length()); } }
Viď https://openjdk.org/jeps/8323335
Otázka je, čo im to tak dlho trvalo!!!!
20. 3. 2024, 00:02 editováno autorem komentáře
To, že jim to trvalo tak dlouho bylo podle mě transformací ze SUN na Oracle. SUN docházel dech a proto se vše táhlo a než to Oracle převzal a celé to znovu rozjel, tak to prostě chvíli trvalo. Navíc se celý svět změnil v době Java 6 bylo nemyslitelné vydávat novou verzi s novýma vlastnostmi každý půl rok. Dobře si pamatuji, že i při vydání Java 8 spousta projektů jela ještě na Java 6 a trvalo strašně dlouho než přešly na Java 8, což často nebyla chyba toho projektu, ale strašných aplikačních molochů typu WebLogic a WebSphere (což je absurdní, protože WebSphere Liberty je nyní průkopník v implementaci nových specifikacích ale je to jiný server). Navíc tu byl problém u Oracle s Java EE, který to totálně podělal, a až nyní se pořádně rozjíždí Jakarta EE.
Ukecanost Javy je důsledek jejích nejlepších vlastností :-) Holt není možné mít všechno.
Proč to trvalo tak dlouho je podle mne celkem jasné. Sun si nevěděl s Javou rady, nezapadala mu do portfolia a byla mu prakticky k ničemu. A měl Javu tak trochu omylem – na začátku udělal pár rozhodnutí, která se zpětně ukázala jako dobrá a způsobila, že se Java dostala tam, kde byla. Ale Java v této podobě pravděpodobně nikdy nebyla záměrem Sunu. No a ke konci už měl Sun problémy sám se sebou, natož aby měl ještě kapacitu na to řídit vývoj Javy.
To byl důvod, proč pak Sun koupil Oracle – protože pro něj byla Java životně důležitá a nemohl si dovolit, aby Javu „řídil“ někdo, kdo se potácí na hraně přežití a Javě se vůbec nevěnuje. No a po nákupu musel Oracle vývoj Javy postavit skoro od začátku, protože u Sunu vývoj Javy prakticky skončil. Sun by pravděpodobně po Javě 6 už nebyl schopen vydat žádnou novou verzi Javy. Oracle zároveň potřeboval ten vývoj podřídit nějakým formálním pravidlům, udělat jej předvídatelný – to je to současné půlroční vydávání a předvídatelné LTS verze. Předtím se nové verze vydávaly, když někdo usoudil, že už je dost vlastností na novou verzi. Proto Oracle postupně vydal Javu 7 „Java ještě neumřela“, pak Javu 8 „Java se konečně bude dál rozvíjet, tady je ukázka jak, formality dořešíme později“ a pak s Javou 9 najel na předvídatelné pravidelné půlroční releasy a LTS verze.
Zároveň musel Oracle pokud možno nenaštvat celou Javovskou komunitu (jako to udělal u MySQL a OpenOffice – tam to ale bylo Oraclu jedno, ty dostal k Javě přibalené jako nechtěný dárek, protože shodou okolností také patřily Sunu). Ale zpětně viděno, Oraclu se to s Javou vlastně podařilo velmi dobře – Java je teď stabilní a předvídatelná; vyvíjí se a je konkurenceschopná; vznikají kolem ní nové zajímavé věci; komunita nemá pocit, že by byla rukojmím Oracle, a má na Javu podstatný vliv. Jediný znatelný přešlap Oraclu byl ohledně licencování Javy (což se dalo celkem čekat, vzhledem k poměru počtu právníků a inženýrů v Oracle). Což ale paradoxně Javě nakonec také dost prospělo, protože vznikla spousta buildů Javy, od komunitních přes buildy, za kterými jsou firmy, ale jsou zdarma, po buildy s placenou podporou. Což zase dost přispělo k tomu vnímání Javy jako něčeho, co nepatří jen Oraclu.
Trvalo to nějakou dobu, ale výsledek se podařil a v sázce bylo hodně – takže za mne je to trvání omluvitelné. Zejména když velká část té doby jde na vrub agónie Sunu, a když se to dostalo do Oraclu, začalo se to hýbat kupředu poměrně rychle.
Sun javu vymyslel ako jazyk pre domácu elektroniku. Tam dostával peniaze za licencie. Istý čas bola java populárna aj v mobiloch, z toho tiež išli peniaze.
Prečo sa z nej stal taký veľký aplikačný moloch, neviem. Ale keďže ich hlavným artiklom boli drahé servery s proprietárnym UNIX-om (Solaris), tak sa im kind of oplatilo mať behové prostredie pre multiplatformné aplikácie?
Ak by nebola dotcom bublina a následný pád, tak by veľmi dobre Sun vedel, čo s ňou. Mohol by naďalej predávať drahé servery s proprietárnym UNIX-om, pre ktorý sa aplikácie vyvynú na "čomkoľvek".