Originally posted by: Red and black
Originally posted by: kamper
Oh n0ez!! It's the old "Java is stupid because it's not a geek-language" argument :roll:
Do you actually
know any "geek-languages"?
I certainly can't claim to be proficient in any. I have dabbled in perl and python enough to understand that they have much more natural syntaxes than a language like java and I fully understand why people prefer to work with them. I'm not saying geek languages are bad at all, I'm just saying they're not the only languages that should be used and that there's more to a language than how a developer interacts with it.
Originally posted by: kamper
Stop whining about how you require syntactic beauty just to be productive.
I can, and have, written difficult programs in Java, and made them work. I have also written programs in ocaml. It was way way easier to write programs in ocaml. Here are a couple simple examples:
1. Use ocaml variant types and pattern matching instead of java inheritance
2. Use ocaml function values instead of java callback objects
Not having a compact equivalent of function pointers is definitely a spot where java suffers from excess code needed to accomplish a task. So far as I understand the issue, you can always accomplish the same thing using a callback interface but of course that's a hell of a lot of code to write.
3. Use ocaml "option" types instead of suffering from java NullPointerExceptions
Not sure I fully comprehend points 1 and 3. I'm always open to learning new programming concepts so please elaborate

However I suspect that we will come down to fundamental differences of opinion.
Originally posted by: kamper
Aside from hardware integration and guis, java is as good in this respect as anything and certainly better than any mainstream scripting language.
This is an exceedingly broad statement. What languages are you including when you say "as good as anything"?
I'll refer you to the sentence that immediately preceeded that "exceedingly broad statement":
The power of a language is not measured by the compactness of it's source code but by the capabilities of the executable. My point was that software-based virtual execution environments are "the language of the future". Once you get them compiled and running they are theoretically the most secure and they are slowly becoming the fastest executing languages (again, as long as you're not dealing with things that are outside the scope of the language, as hardware integration and graphics largely are for java right now). They are the most elegant runtimes that I can think of. Granted, I'm no language theorist
