5 ms·
>You CAN make it verbose that’s for sure. No true scotsman? Even if you want to argue that Java CAN be made more terse, the vast majority of Java that exists t
by nemothekid 6y ago
>You CAN make it verbose that’s for sure.
No true scotsman? Even if you want to argue that Java CAN be made more terse, the vast majority of Java that exists today is incredibly verbose. Even running a Java program is verbose. Java is the only language I've used where it's more common to have a shell script that starts your Java program than just running ./helloworld.
And yes, Go is less verbose than Java. Go might require some boilerplate, but it is certainly much less verbose than Java.
- LaserToy 6y agoVerbosity is not a problem in large code bases. Speed of understanding and debugging of what somebody else wrote is. So, less magic is better. I will take Java codebase over Scala or Python every time, unless it is a toy script which is 100 lines
- cle 6y agoEvery significant Java codebase I've worked in has had incredible amounts of magic. Between AOP, DI frameworks, APT, reflection, proxies, SPI, Lombok compiler hacks, dynamic classloaders, etc., there is a LOT of magic flying around and it can be quite hard to understand what will happen at runtime.
- tirrex 6y agoI’m not a backend java dev but whenever I take a look at java web projects which use spring/jsf/jsp etc frameworks, docs say to handle a request, write a method with that signature, we’ll call it when there is a http request. I always want to know enterence/exit points of a network message but that is impossible with these fancy frameworks. It is pure magic.
- LaserToy 6y agoI’m talking about the language, not frameworks. AOP sucks because it is paaaain to debug, proxies are magic. There is Dagger that solve some stuff
- fomine3 6y agoThis. Java communities tried to solve redundant code problem by complex, hard to recognize way.
- smitty1e 6y agoStill got PTSD from a Hinernate codebase that had all sorts of initialization magic afoot. Who needs CPP macros when you've got reflection?
- inshadows 6y agoDon't forget XML DSLs. Or are we past that?
- esarbe 6y agoThis is what drove me away from Java; the ungodly amount of magic that's required to make it economic. If it all works, it's fine. But as soon as something fails... Get yourself ready from some frustrating hours.
- pbadenski 6y agoALL Java developers should be required to watch this course (it's Free): https://software-mastery.teachable.com/p/uncommon-sense https://software-mastery.teachable.com/p/uncommon-sense FYI: I am NOT an author of this course.
- tirrex 6y agoJava style verbosity hurts readability. That’s the most important issue with Java imho. Take a look at a http server one in Java and one in C. Readability difference is crazy. My company is in transition from Java to C, for bunch of stuff just for performance reasons. So, I debug similar projects time to time both in Java and C, http server, in memory cache, iot server etc. After seeing both, I just think although Java has great tooling, it drives developers to write unreadable code.
- LaserToy 6y agoI mentioned C as a language of choice. Cool kids are picking node js and esoteric Closure, not C
- eklavya 6y agoWe should keep in mind the kind of features, performance, observability the jvm can provide, compare that with the other runtimes and then see if the script to execute is too much :)
- twic 6y ago> And yes, Go is less verbose than Java No, this is utter, utter nonsense. I have written plenty of both, and it's not even close. If you are going to press this extraordinary claim, you need to supply at least some evidence for it.
- wing-_-nuts 6y agoGo's error handling is painfully verbose. Go's lack of generics leads to passing empty interfaces everywhere (come on proposal!). Don't act like go doesn't have it's warts. If it wasn't backed by google it wouldn't be nearly as popular as it is.