Cliff Berg
2 min readDec 25, 2022

--

Some good points - e.g. the VM startup time. Although that can be eliminated with runtimes like Graal.

One thing about the Java ecosystem: it values backward compatibility, and so the time to set up a new project using unfamiliar Java-based tools and libraries is very short.

Contrast that with Python: the other day I had to set up a Python project, using a particular toolset. It took me two days - literally two days. I had to have the right Python version, and the right versions of a whole range of dependencies - and most of them were not available in standard RPM repositories, so I had to create a Linux VM and download them and install them all manually.

Contrast that with a Java project, where you build with Maven and everything you need is pulled in like magic. And Java VMs are _highly_ backward compatible: if you have a recent VM, it will run any code that was compiled from the far, far past. Backward compatible: that's how things should be - because programmers have better things to do than constantly update things that break every time someone comes out with a new version of some little library.

Also, languages that lack type safety are fun and fast to code in, but _horrible_ when you have to read others' code. Friggin' horrible. Try figuring out what type of thing gets returned from someone's Python method.

I have hopes for Rust. But I doubt it will find the same popularity as Java, because Rust is hard to learn, and programmers favor what is easy - not what is best.

--

--

Cliff Berg
Cliff Berg

Written by Cliff Berg

Author and leadership consultant, IT entrepreneur, physicist — LinkedIn profile: https://www.linkedin.com/in/cliffberg/

Responses (3)