logoalt Hacker News

SillyUsername • today at 8:02 AM • 1 reply • view on HN

It's a language that tries to be everything but is at its heart Enterprise software.

e.g. poor support, or late support for

- JWT/Swing desktop UIs

- Web technologies (it used to have a built in JS engine, competing standards, servlets, jsps, jstl, portlets)

- Image processing (ImageIO is limited, Image and BufferedImage were slow)

- Native interop (overlapping / competing standards)

- RPC (CORBA, Jini...)

- Mobile variants (J2ME, Java Profile Variants, Embedded Java, Java card)

- Threads, Concurrency, native threads (confusing so many re-implementations)

- Delegates, sorry I mean arrow functions, oops no I mean lambdas. The features Sun said should not be in the language for years then back pedalled once it realised the foot gun calling out Microsoft for them.

So many attempts at relevance then abandoned, left in the language as cruft, or just ideas that were vehemently not Java, shoe horned in.

And they still don't have the Elvis operator, not for lack of trying though, they do have the abomination Optional instead though, but best practice says DON'T use that for arguments, just return types (but the language permits it anyway).

For newbies, Python is better, Typescript is more accessible for web or serverless, Rust for native...


Replies

MiroslavPokorny • today at 9:26 AM

And man is nothing more than a monkey who no longer lives in a tree.