|
|
|
|
|
by dcminter
591 days ago
|
|
You're not the only one I'm sure, but sounds like you don't need it. Its major strengths are: • Bottomless resource of developers with Java experience • Vast array of existing libraries many of which are enterprise focused • Managing very large codebases with many contributors is straightforward • Standard VM that's very solid (decades of development), reasonably fast, and supported on essentially all platforms. It doesn't have quite the stranglehold (even in Enterprise) that it had in perhaps the early 2000s and it's the archetypical "blub" language, but it's a perfectly reasonable language to choose if you're expecting Enterprise scale and pure performance is less valuable to you than scaling out with large numbers of developers. I like Rust, but it's Java that puts bread on my table. |
|
> Bottomless resources of developers with Java experience.
With Java experience, but what fraction have a systems outlook? What fraction have an experience with other languages to ensure that the code they write is simple and understandable and direct? My own experience is that too many come out addled by Enterprise Java idioms, and when you actually write some code in Erlang or Go you realize systems aren't as complicated as they have been made out to be.
> Managing very large codebases ...
I wonder if this is self-fulfilling. My theory is that these codebases are huge because their designs are enterprisey. The primary drivers of complexity are indirection: factories, dependency injection, microservices, these are all part of the same malaise.