* Python -> Java jump (e.g. CS1=Python, CS2=Java) is difficult.
* First real world job in Java in a larger enterprise with lots of older baggage
* And by a few handful, related to sound technical reasons in their niche area
For me, the jump from Java -> C/C++ in university was hard and I still don't have a good handle on those latter languages. In my first job out of school I was handed a massive C++ library to build an application around with no mentorship and I failed spectacularly. I reacted similarly to the negative Java hate: "Why would anyone use this?"For me now, as a principal eng, building a greenfield project with Java 17+ now is extremely enjoyable. Interestingly, we've had some HTML/CSS/JS bootcamp devs with no prior coding background succeed in doing Java. And we've had some Python/C university devs struggle. Sample size is too small to be meaningful, I just thought it was interesting.
We were forced to use Java and then switched languages and saw the light. Simple as that. Doesn't mean that Java is useless but coders are entitled to have strong opinions when their day-to-day is impacted so heavily by it.
Same reason I allow but don't necessarily approve of Rust, emacs, nix, etc. evangelism. Is it annoying? Sure, but those people all have a basis for their gripes for the most part.
Other languages will do a better job in various ways, certainly, but in my opinion Java remains a pretty good middle-of-the-road language.
If you want to go deep on high-performance computing, or functional programming, or type-safety, or low-level programming, then Java isn't going to win at any one of these. It's still broadly successful in what it's trying to achieve: a fairly fast, very portable language and virtual machine with various features to help the programmer deal with code-defects and achieve correctness, generally preferencing these (and portability) over performance where necessary. It also generally commits to backward compatibility.
There is no one language to rule them all. It's more a matter of Pareto efficiency.
If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
In addition I'm also frightened if the same anti-Java bias prohibits similarly interesting content to appear on the front page.
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
Java is a great language, it is incredibly fast and safe. It has wonderful tooling.
The only downside is that it doesn't have good integration with GPU or CPU parallel processing but it can integrate with other libraries to compensate for it.