4 ms·
Well when you're working with other people's code debuggers are most definitely not pointless. I'm not sure how you can write any non-trivial Java program with
by wiggles 17y ago
Well when you're working with other people's code debuggers are most definitely not pointless.
I'm not sure how you can write any non-trivial Java program without lots of getters, unless you expose your fields everywhere, and end up in maintenance hell.
hashCode/equals/toString are boilerplate code that is best machine generated, because humans make mistakes when writing the same boilerplate code for the 500th time.
The fact that Java is strictly statically typed means the IDE can safely refactor your code without breaking things, though obviously you can still get naming conflicts, which if occur the IDE will not let you continue.
Your comparison with natural language is disingenuous, they are not parsable by machines, and hence are not easily refactorable; a word processor can't determine the context from your cursor location, and hence can't auto-complete words.
Here is Java's complete grammar: http://java.sun.com/docs/books/jls/second_edition/html/syntax.doc.html http://java.sun.com/docs/books/jls/second_edition/html/synta....
I also haven't seen a character name like SimpleRemoteStatelessSessionProxyFactoryBean (that's a real Spring class name...)
- axod 17y agoDepends what you consider trivial. I don't touch any of the Bean / Spring / 'enterprise' madness. Perhaps that's the difference. Exposing fields everywhere isn't really a maintenance hell, it's simple enough to find everywhere that accesses the field, I'm not sure why adding getters/setters is so much better :/ Sometimes it makes sense when the get/set does more than just modify a field. Things like SimpleRemoteStatelessSessionProxyFactoryBean are clearly madness, and give Java a bad name. Also reinforce the silly opinion that to write Java you must use an IDE.