←back to thread

185 points chhum | 5 comments | | HN request time: 0.341s | source
Show context
nelup20 ◴[] No.44009800[source]
I personally appreciate Java (and the JVM) much more after having tried other languages/ecosystems that people kept saying were so much better than Java. Instead, I just felt like it was a "the grass is greener" every time. The only other language that I felt was an actual massive improvement is Rust (which so far has been a joy to work with).

It's a shame imo that it's not seen as a "cool" option for startups, because at this point, the productivity gap compared to other languages is small, if nonexistent.

replies(6): >>44009912 #>>44009928 #>>44009952 #>>44010109 #>>44010282 #>>44010468 #
sapiogram ◴[] No.44009912[source]
My feelings exactly. Go was particularly disappointing, it promised everything but only felt like a sidegrade from Java. Screw it, a downgrade, until go errors get stack traces.
replies(3): >>44010013 #>>44010083 #>>44010285 #
overfeed ◴[] No.44010013[source]
The reason I prefer the Go ecosystem to Java is cultural, rather than technical. Sure, the JVM is very impressive and the language has been evolving, but the culture around Java seems to encourage needless complexity.

Of all the languages I've had to work with trying to get to know unfamiliar code-bases, it's the Go codebases I've been quickest to grok, and yielded the fewest surprises since as the code I'm looking for is almost always where I expect it to be.

replies(3): >>44010172 #>>44010374 #>>44010391 #
1. skydhash ◴[] No.44010172[source]
I think kotlin is what Java should have been like. The same capabilities but with less cumbersome constraints.
replies(2): >>44010333 #>>44010696 #
2. ori_b ◴[] No.44010333[source]
When I used Kotlin, it felt like Java, but with the antipatterns baked in as language features.
replies(1): >>44010677 #
3. complexworld ◴[] No.44010677[source]
Could you explain which antipatterns you're referring to?
replies(1): >>44011457 #
4. Zambyte ◴[] No.44010696[source]
It is all but impossible to use Kotlin without an IDE telling you everything, and for that I find the language interesting. And for comparison, I did in fact write Java without an IDE for an extended period of time.
5. ori_b ◴[] No.44011457{3}[source]
Leaning heavily into object orientation, including baking in things like companion objects, object expressions, etc. Encouraging utility classes that tack half-baked functionality onto existing types. Smart casts encouraging overly complex hierarchy.

While operator overloading and infix functions aren't a Java anti-pattern, I also think the language would be improved by their removal.