5 ms·
I think it's because Java is just plain and simple a boring language. Most people would agree that Java is a tad verbose and over-patternized. It doesn't do an
by rb2k_ 16y ago
I think it's because Java is just plain and simple a boring language.
Most people would agree that Java is a tad verbose and over-patternized. It doesn't do any "fancy" stuff like functional programming, it doesn't have a lot of "sexy" libraries and the community arround it is pretty much stuck in a fixed big-enterprise mindset ("I don't care that it's easier to do it with tool x or y! We can't maintain anything else but Z!") and a lot of Java developers have only experiences with Java which limits the way they try to solve problems.
The worst example of this was when I had to witness a friend of mine having to code a prototype for a handheld device in Apache Struts because "that's what we know and we can enhance if you're not there". He had to basically implement most UI interactions in Javascript so it was even close to usable.
If you would ask any Ruby/Python/Scala/Erlang/... developer about other languages or new technologies (noSQL databases, node.js, ...), chances are they will at least know something about it because they love their craft. Most "only Java" people I've met so far simply aren't particularly interested in anything that isn't directly related to their work.
p.s. this doesn't mean that there aren't great developers that use Java, I've met some amazing people that are fluent in Java, but for them it was just "another language" that they used, not "the language".
- tkahn6 16y agoI think it's because Java is just plain and simple a boring language. I agree for the most part. I make my college programming projects fun by finding uses for the Reflections API. Check out 'invoke'. http://download.oracle.com/javase/1.4.2/docs/api/java/lang/reflect/Method.html http://download.oracle.com/javase/1.4.2/docs/api/java/lang/r...
- rb2k_ 16y agoThat's cool, but the sad part is that this is a common feature with most other languages and not just some added library. Still great that you show what's possible :) Also: does anybody know why Java core classes don't have examples in the documentation? (compare: http://ruby-doc.org/core/classes/String.html http://ruby-doc.org/core/classes/String.html )
- tkahn6 16y agothe sad part is that this is a common feature with most other languages yep. I was hoping they would add closures before I graduate but it doesn't look like it.
- brazzy 16y agoUm... reflection is a core feature of Java, and has been since Java 1.1
- rb2k_ 16y agoOh sorry then, I don't use Java a lot these days... It just seemed weird to me that I had to include it. I'm used to this functionality being available without any additional steps because it is implemented in something like an "Object" class. (Lots of Ruby these days)
- megamark16 16y agoA coworker and I were just talking about this, and we decided that it was probably due to the fact that a lot of documentation in Java and .NET is auto generated based on the code comments, which are highly standardized and strictly enforced. Most languages have tools for generating documentation based on code comments, but in Java and .NET you usually end up with a lot of "Here's the signature of the constructor for this class, and here's a list of methods and members." It's lame, and often pretty useless.
- InclinedPlane 16y agoWorse than being verbose, Java is limited. It doesn't have the barely insulated connection to the bare metal of the machine that C/C++ has (allowing you to do damn near anything if you code it well enough) because Java is designed to be "safe". But on the other hand it doesn't have any of the more sophisticated programming techniques like first class functions (and thus higher order functions, etc.) The result is a language which requires cumbersome patterns (often inexpertly applied) just to get any regular work done. Stuff that in more sophisticated languages could be refactored down to elegant systems.
- Dylanlacey 16y ago'...but for them it was just "another language" that they used, not "the language"' This is the case for almost EVERY great developer: They're language agnostic. The language is never important.
- rb2k_ 16y agoyes, that's what I was trying to express