3 ms·
A highly expressive language makes overengineering easier.
by 708145_ 2y ago
A highly expressive language makes overengineering easier.
- gf000 2y agoJava is definitely not even close to being "highly expressive". It has been a very simple language, and was always very conscious of remaining that with a slow, but well-thought-out evolution, learning from others' mistakes.
- agumonkey 2y agoi guess java confused verbosity with expressiveness
- gf000 2y agoWithout entering the territory of flamewars, Go is objectively more verbose than Java, so I don't really see your point.
- aatd86 2y agoDoes someone disagreeing with your statement make it not objective anymore? :o)
- agumonkey 2y agoHmm maybe I'm too out of touch. You're talking about recent java (12+) vs go ? I stopped working in java so maybe I'm too bruised by the J2EE 5 era, but what I saw from Go was an order of magnitude less verbose than my memories of java.
- gf000 2y agoJava EE was/is a whole platform, framework, deployment model all in one. Also, most of the verbosity of that early version was very high flexibility (everything could be replaced) plus an XML-based configuration. I wouldn't really count XML in Java's verbosity, nor do I think that comparing it to vanilla Go is meaningful. For similarly scoped libraries Java is less verbose due to go's error handling being all over the place.
- vips7L 2y agoPlease don’t take this rudely. But if you haven’t used a language or looked into in over a decade perhaps you shouldn’t comment on it? That being said you should really check out how streams, records, switch expressions, pattern matching and all of the recent additions in the last 5 years have made Java a magnitude less verbose than Go.
- agumonkey 2y agoFew factors: - a ton of java is still legacy, ask works with java 7 vs java 17 and enjoy the laugh - I assumed java culture was still too rotten by its roots. I've used streams but whenever I have to import BiFunction I feel very sad. on the other side, the few go code I've seen was always very concise, or even when the code base wasn't very well designed it was, at worst, still below java
- vips7L 2y agoOnly 2% [0] of runtimes are on Java 7. There is a large majority on 8 still and 45% are running Java 17. That being said Java 8 is still less verbose than Go. The number of lines needed to do basic programming like iterating collections or error handling is a magnitude larger in Go. You’re basing your opinion on your feelings rather than objective facts of being in the ecosystem. Yes you may have to import BiFunction but that isn’t anymore verbose than having to write: func(a A, b B) C [0] https://www.jetbrains.com/lp/devecosystem-2023/java/ https://www.jetbrains.com/lp/devecosystem-2023/java/
- xyproto 2y agoJetBrains earns money on selling Java-related products. They are a very biased source.
- gf000 2y agoSo you believe that everyone is running java 7 or what is it you even disagree with? Also, Oracle employees have many statistics available, and they routinely say that Java 8 is no longer the most used version.