5 ms·
Because Java has become an unpleasant to code in. Do you really think what you like is what everyone else likes?
by cy_hauser 5y ago
Because Java has become an unpleasant to code in. Do you really think what you like is what everyone else likes?
- vips7L 5y agoAre we looking at the same languages? Java is far more a productive language with generics, lambdas, switch expressions, pattern matching.
- bob1029 5y ago> Java is far more a productive language Since when is productivity a priority for most developers? Seems like 2nd or 3rd fiddle based on HN sentiment these days.
- cy_hauser 5y agoJava (and C# and C++) have become kitchen sink sink languages. Everything is just thrown in. That makes it less productive for me. I've decided I don't want to carry around that much in my head all the time in order to read somebody else's code. I switch languages a lot these days. Go is getting generics in (hopefully) in a few months. Some features are missing but most don't cause much pain and can be either simulated or worked around. Error handling is its biggest failure, but outside of that I find is at least as productive as other compiled languages in the same space.
- vips7L 5y ago> Java (and C# and C++) have become kitchen sink sink languages. Everything is just thrown in. This is far from the truth when it comes to Java. Java doesn't add features willy nilly. They are thought out, and in general implemented better than in other languages. Java's WHOLE philosophy is to move slow and let other languages experiment with features so the kitchen sink doesn't get thrown in because Java has _actual_ backwards compatibility promises and has to support those features for eternity.
- manishsharan 5y agoIf you are still coding in Java 5 then yes it is unpleasant. I have seen a lot of java 5 like code in Java 8 environments and hence the unpleasantness. However, even though I am still upskilling myself to use Java 11 and later, I am finding that my Java code is less verbose and more efficient.
- closeparen 5y agoI question the relevance of newer Java versions. Established codebases don't like to upgrade and new codebases are likely to use trendier languages.
- fmakunbound 5y agoI sorely miss some kind of functional streams api in Go when switching between Go and Java. for-loops make the equivalent code absolutely awe full, plus it’s not automatically parallelizable by replacing .stream() with .parallelStream(). IIRC, some Go luminary decided map, apply filter etc. we’re no good, so I hold little hope of something like Java streams API in the future. Maybe someone can recommend a third party library.
- kaba0 5y agoWhile I agree with sibling poster that modern java is nothing like the old times, are we seriously comparing it to Go with manual error handling and the like?