4 ms·
I'd imagine people criticise Java for the same reason they criticise PHP, or C++, or many other languages. It's very easy to attack a strawman based on outdated
by UglyToad 7y ago
I'd imagine people criticise Java for the same reason they criticise PHP, or C++, or many other languages. It's very easy to attack a strawman based on outdated best practices from more than a decade ago ignoring the fact that both the language and the best practices have moved on and many people are very productive in those languages.
When I started learning C#, less than a decade ago, best practices were "Uncle Bob" style nonsense, ultra-fragmentation of the codebase, interface everything, boilerplate everywhere, pointless mocking and testing of components which should have been treated as purely internal. But you look at what changed in C# -- generics, dynamic, LINQ, async, auto properties, etc. -- in the last few versions and it's a brilliant language that can be written as verbose or as golfed as you please (I lean now towards verbosity and loops over LINQ just because while I think LINQ makes you feel clever it's also harder to reason about).
Now I don't do Java other than porting a Java codebase to C# but I'm under the impression Java has been on a similar journey with streams and whatever else. Much like PHP or C++, workhorse languages that aren't 'sexy' but are widely used and keep the internet and society running.
Different people like different things and that's ok (but assuming this new language from the advertorial doesn't support autocomplete, easy refactoring, whatever else it's going to be a hard sell to get productive teams to switch over to it!).