Java ma svoje chyby, lec porad to byl projekt, ktery "stavel na ramenech obru" a rozsiroval nebo alespon pouzival tehdy stavajici uroven Computer Science.
Ten jazyk navrhli lidi, kteri meli o Computer Science aspon nejake matne tuseni a nepokousi se znovuvynalezat kolo.
To kdyz jse podivam treba na "navrh" Reactu, to by jeden blil. Filozofii useEffect(), to fakt za strizliva vymyslet nejde, pak ty famozni vynalezy typu Redux, zdravime vynalez MVC patternu z roku 1974.
Nebo python3, ktery stylem vlastovciho lepeni dobastluje featury na urovni stare Javy 5.
Nebo GO, ktere na zaklady typu exceptions a generik proste rezignuje.
Java a hlavne jeji ekosystem je genialni zalezitost, ktera nema konkurenci. Vzdycky me pekelne sejri, kdy musim udelat nejakou trivialitu v Pythonu nebo GO, v java/springboot brnkacka s primapovanim Maven komponenty, v GO a Pythonu srani s GITHUB knihovnama na ktere 4 roky nikdo nesah a hromadou neresenych issues a CVE listem az za roh.
Hlavni problem Javy je v tom, ze vede programatora, tudiz muze programovat kazdy, treba nastojaka na parezu po kolena v bahne Gangy. A pak to dopadne jak Lotus Notes nebo Liferay, neco otresneho.
V C++ nic tak hrozneho napsat nejde, protoze s takovou "kvalitou" programovani by to ani neslo spustit/zkompilovat.
S aspon trochu schopnym programatorem je Java program efektivni, treba Tomcat, Kafka, Camel Na desktop aplikaci se porad nehodi, ale na cokoliv backendoveho s potrebou trochu komplexni business logiky a s potrebou integrace na jine systemy - nedostizna zalezitost.
A nastesti na Frontend uz mame Vue3/typescript. Vue stejne Jako javu navrhoval clovek s povedomim o computer science a da se s tim celkem bezbolestne pracovat.
Gočko ale generika má. To Java s type erasure jen tak napůl.
Jinak my děláme Go i Python a tedy problémy s "knihovnama na ktere 4 roky nikdo nesah a hromadou neresenych issues a CVE listem az za roh" nemáme. Byl by nějaký příklad takového bahna?
PS: i v Javě se objeví krásná CVEčka, třeba takové to CVE pro log4j byla docela chuťovka a ukázalo se, kolik SW si s sebou tahá superstaré verze.
Jo. Třeba sqlx :-)
Poslední commit před rokem, PR 69, issues halda. Teprve se začínám v go eko-systému pohybovat, ale popravdě oproti Rustu mě to přijde těžký hipster style. V podstatě najít knihovnu kterou by někdo udržoval (a rozvíjel) je halda prolézání githubu a mnohdy je jednodušší si to napsat sám. Ale to bude daň za to že go je tak trochu github-centric :-D
Sám dělám v Go, a když jsem procházel deps K8s, tak jsem se zhrozil. Ted si pamatuji jen Cron libku, protože tu jsem právě hledal pro náš projekt, a myslel, že se inspiruji v K8s (CronJobs).
Takový ten Unix Cron byl sice asi feature complete, ale L pro last day of the month by neuškodil apod.
A když by ten PR mergnuli, a K8s zaktualizoval modul, tak by CronJob získal nezdokumentovanou feature.
Souhlas. Lidi se často diví, že pro HFT se používá Java. trik je, že to nepíšeš jak hlásá enterprise a zároveň to máš rychleji než v C++ a dále to jde "tunit", když víš jak pracuje GC. Java a JVM hlavně je nejvíce "hated" a zároveň underrated platforma.
Živý mne především Python :D; to jen na okraj.
Súhlas. A čo sa týka špeciálne desktopových aplikácií, z tých napísaných komplet v Jave používam najdlhšie asi JOSM (interaktívny OpenStreetMap editor), cca 15 rokov, počnúc Core2 strojmi s 1G RAM. Pričom user experience mi nikdy neprišiel nejak zásadne horší, než pri natívnych aplikáciách podobnej komplexity.