5 ms·
I remember this time well. For hacker types, Java was...not what we were looking for. But it checked a lot of boxes for the type of bland corporate development
by bane 1y ago
I remember this time well. For hacker types, Java was...not what we were looking for. But it checked a lot of boxes for the type of bland corporate development that makes up the majority of software development.
What Java really offered was allowing companies where software development is a cost-center minimize costs and reliably automate business processes with lower-skilled (and paid) software developers. Reliability is probably the number of one destroyer of value with software, and requires more development time, better developers, and the worst-case threat of downtime.
It "eliminated" most of the things that make software hard by simply getting rid of memory management as a problem. Doubling down on OOP and services everywhere let's companies divide and conquer software in ways that better align with business units. Many runtimes (VMs) had various types of sandboxing which boosted security in a very immature infosec world. Being slow (at the time) wasn't a problem as companies could just buy more hardware and still get the reliability that they needed.
Java has to be looked at as the entire ecosystem, and the TCO for an all Java world is generally lower than with an all C++ or C world, or an all Perl or Python world. Being the new COBOL is also why Java so rapidly took on "enterprise" cruft as a big part of its identity.
If you can get past all of that and are just looking for a nice, batteries included, language to work in, with a great cross-platformm highly performant, VM, Java is a great language. Its added a lot of nicer things in the last few years as its starting to shed a lot of dead weight that accumulated during the worst of the enterprise software ClassFactoryFactory years.
There are reasons it took off so well, and designing around the intended user community is one of them.