5 ms·
Funny, the java community is one of the best and most helpful I've encountered. Much better experience than I've had with the supposedly enlightened lisp commu
by ido 16y ago
Funny, the java community is one of the best and most helpful I've encountered.
Much better experience than I've had with the supposedly enlightened lisp community.
Also, Markus programs in straight java, not scala or clojure.
- derefr 16y agoI didn't mean to imply that Notch doesn't program directly in Java—just that, like a C programmer writing assembler will write assembler with C conventions (like almost always passing parameters on the stack, etc.), a programmer who knows [any other non-Blub language] writing Java will think of things in terms of higher-order functions, duck-types, etc., then just type it in in a way java understands (many small anonymous classes, wide hierarchies supporting simple interfaces, etc.) Let me restate the problem another way: there are many more programmers who only know Java, than programmers who only know [other language X]. Single-language programmers usually aren't familiar with very much theory, and don't know any design-pattern-like abstractions, borrowed from intrinsic features of other languages, that they can put in place instead of just writing tedious, repetitive, dorky (er, I mean, "enterprise") code. 90% of Java's libraries are very, erm, "enterprise."
- cscotta 16y ago> 90% of Java's libraries are very, erm, "enterprise." Are they? Apache's Commons collection of libraries such as ArrayUtils, StringUtils, IO, and the like, along with JSON-Simple/jvYAML, the servlet API, any database driver, Log4J, and just about every other library I use on a daily basis has a clean, focused, well-designed, and impeccably well-documented API. I'm sure there are no shortage of "enterprise-y" libraries and APIs, but could you offer a few examples of common, popular libraries used in a large portion of J2SE (not EE) projects whose APIs are poor on a level beyond that which may offend your aesthetic sensibilities? Some that come to mind for me might be Swing (I don't write GUI apps), but am curious to hear what you've encountered.
- ido 16y agoLet me restate the problem another way: there are many more programmers who only know Java, than programmers who only know [other language X]. Is this little bit of personal opinion by any way confirmed by evidence? I know many more programmers who only know php, actionscript, or perl than programmers who only know java. I know you're not one of the cool kids around here if you don't build compilers in haskell, erlang or some dialect of lisp but this unsubstantiated anti-java sentiment is ridiculous. I've programmed in a dozen+ languages (including scheme and python, which seem to be considered acceptable with the cool language crowd) and consider myself proficient with 4 of them (as in - I would have no problem starting a new project in those languages and will not often need to look up language docs) and for many uses I still prefer Java. I suspect I am not the only one who shares that sentiment.
- derefr 16y agoAgain, I'm not saying Java-the-language is bad. Java can be the best tool in a programmer's toolbox for many things. But, overwhelmingly, Java schools make Java programmers that only wield the Java hammer on every nail they find. If your first language is PHP, or ActionScript, or Perl, it is very likely that you picked it up on your own—and thus are interested in the topic of programming in general, and will continue to learn from there, picking up bits of programming theory and new languages as you go. However, if your first language is Java, you learned it in school, because that's what they taught—you didn't yearn for anything more—and then there was a big bubble of EE employers ready and waiting to insulate you from the rest of the programming universe. Straight out of school, you start work for one Java company, and then transition to another, and pretty soon you're 32 and don't know what a combinator is or how you could possibly implement something like the JVM. Having attended one of these Java schools for a semester, I can guarantee you that no one who graduated from there will ever learn another language. They know what they know, and they're happy with that. That what they know is Java is immaterial, except that that means that only knowing Java, by Bayes' law, becomes a positively-weighted-feature in the detection of these work-a-day programmers who need to be avoided at all costs if one wants to hire in a startup.
- lemming 16y ago