This Stalemate Brought to You By The Letter “J”

People may not understand why I rag on Java. I ultimately like the idea, but as I’ve said, there’s a lot going wrong in its execution. I’ve covered some parts before, but in short: Java is a word that covers several concepts (and I’m not the first to make that observation), Java is a language that half-assedly implements new stuff favoring backward bytecode compatibility, Java is a platform unto itself instead of a platform-independent API and my recent favorite: Java doesn’t really try to aspire to a lot of things.

Which leads me to two other, connected, observations.

a) Java doesn’t seem to have a great community as much as a large community. Certainly, there’s no end to the Java ecosystem. Endless libraries (many named J-something), different languages (even though, I’m sorry Nathan, it looks too much like Python for me to be comfortable with it). And certainly there are users from hackers to big banks to cell phones. But it’s missing an epicenter. Don’t get me wrong - everything’s obviously pivoting on Sun. But there seems to be very little call for change to Java within the Java community. Transitioning nicely into…

b) Java doesn’t seem to aspire to greatness or Java doesn’t seem to be run by a secret cabal. This is the same point. C# has never stopped making advances, and even if the snottier of you will point out that that’s because it wasn’t all that great when it first appeared, I will ask you to point out an alternate undertaking on the level of LINQ, or an alternate effort to bring deferred typing into an established statically typed language. Perl 6 may continue to be something of a laughing stock, but which other language has dared redefine regular expressions to enter the language grammar itself? (Or really, which other language is better meant to redefine regular expressions?)

Things like these usually don’t happen because someone wrote something cool over the weekend. Pushing a language forward takes effort, deep knowledge of the language and the new area and certainly passion as well. Languages whose core team want it to evolve are often rewarded richly regularly (or, in the case of Perl 6…).

This, perhaps more than anything else, explains my disdain for C++, too. It’s not about change for change’s sake, it’s about constantly trying to redefine the language. If you don’t think languages need to be redefined, think about the demands on higher and higher levels of programming, wherein you specify in less detail how something is to be done. Think about new and relatively sudden shifts in technology, like that from one fast CPU to several slower but parallel cores.

Comments [+]

  1. “…which other language has dared redefine regular expressions to enter the language grammar itself?”
    Javascript?

    By http://jens.ayton.se/ · 2007.11.14 12:27

  2. Nope. The JavaScript language includes regex literals, which is good, but it’s not unique. (I think two of the telltale signs of modern and high-level languages are built-in support for types for regexes and ranges.)

    Perl 6 introduces a new version of regular expressions which is much more tightly integrated with language features and actually is used to help define some language features themselves.

    Apocalypse 5: Pattern Matching was one of several documents Larry Wall put together to show where Perl 6 was supposed to head when it all started a few years back and provides some clue what I mean by this.

    By Jesper · 2007.11.14 16:03

Leave a comment

Your e-mail address is never shown. If you type a line break in the comment, it will show up as a line break (naturally). The following HTML is allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)


Please note: Your comment will not show up at once. Unless you're spamming or being abusive, you have nothing to worry about. (Read the full policy.)