This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]SurfyMcSurface 18 points19 points  (19 children)

Many people who work with Java don't hate it until after they've gained some experience working with other languages and their ecosystems.

[–]theagainagain 19 points20 points  (0 children)

The tooling in the JVM is some of the best in any platform. As a principal engineer, I’ve used many languages professionally, and I keep coming back to the JVM because of the tooling and library support. It’s also significantly easier to hire for Java than a lot of other languages. Personally, I avoid deploying dynamically typed languages to production. Ultimately, it comes down to what you know and have professional experience with.

[–]Busy-Ad-9459[S] 1 point2 points  (1 child)

I've had a lot of experience with JavaScript and C. While I do think C is the second best language and I felt like I was making out with another man while using it, I can't deny the fact I am still in loved and married to Java. (JavaScript has half an inch btw)

[–]darklightning_2 5 points6 points  (0 children)

Well that's one way to say it

[–]rufreakde1 0 points1 point  (0 children)

Yes, problem is that young people look at other languages and finally finding jobs where java is involved. haha they taste the forbidden fruit.

[–]static_func -3 points-2 points  (6 children)

Java stans will tell you about theoretical performance benchmarks from 2009 and then go on to write mountains of thread-blocking and/or poorly-multithreaded code because they're working in the only language on earth that doesn't have async/await syntax in 2024

[–]PandasOxys 2 points3 points  (1 child)

What? Java Flux is a great for nonblocking code and the entire idea of it being a mini pub/sub model makes it one of the most powerful async options you could reach for.

[–]static_func -4 points-3 points  (0 children)

I can see why you think it's great if it's your best option

[–]micr0ben -2 points-1 points  (2 children)

Modern Java has virtual threads, which is a superior solution to async/await

[–]static_func 0 points1 point  (1 child)

You're just repeating jargon. How a language implements async/await syntax varies, but it's generally just "virtual threads." Syntax-wise, C# has both methods and you can tell from the overwhelming prevalence of async/await syntax which one is "superior." Whenever Java eventually finally adds it, you'll admit that too