Beyond Java?

The August meeting of the Orange County JUG was a panel discussion on the topic "Beyond Java".

The panel consisted of (from viewer's left-to-right in the video):

Jeffrey Peacock videotaped the meeting, and I uploaded it to Google Video. It is in two parts and can be seen here:

Java's value is in the platform not the language

Programming Languages for the Java Virtual Machine

Even Awk:

Steve Yegge's JVM Language Shootout

Continuations are a big deal. Fortunately the Open Sourcing of Java means we'll get them in the JVM timely (if you don't consider that they should have been there from the start).

The Great Java Renaissance 2006

For a long while Apache has provided the advances that have kept Java vital and counter Sun's ongoing blunders (Threads, Swing, EJB), and more recently has been joined by Eclipse. But that isn't enough for Java to continue to lead the free world, and things started looking dismal the last year or two.

But fortunately 2006 has seen several key developments that have turned tide:

Some folks still don't get it

Turns out 2006 was measurably a good year for Java:

Two Years into The Great Java Renaissance

I reviewed the success of the renaissance at the JavaPosse Roundup 08, although not everyone shares my view on the situation. Turns out most folks were oblivious to how close Java came to peaking. And in sense Java really has actually already peaked. Even though I maintain that Sun will naturally do all the have to in order to keep it relevant (it is after all their stock ticker symbol now because it is a much more well known brand worldwide than "Sun Microsystems"), it is clear Java The Language (as opposed to the Java The Platform) has already finished it's ten year run of growth as innovative technology and now moves into the long, long tail of maturity.

And we even have a fifth pillar now, Google Android!.

Sun acknowledges screwing up,339028227,339290077,00.htm


Everything old is new again.

Greenspun's Tenth Rule:

Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.

Since writing this essay, I've found that Perl, Python and (especially) Ruby all provide more metaprogramming facilities than I thought. Ruby's even powerful enough to create some kinds of syntactic macros. Even so, none of them really compares to Lisp in this department, so I'll leave the section as-is. The point is that Java has absolutely nothing to help you here.
Lisp Wins

Paul Graham's Hackers & Painters

Revenge of the Nerds

One of the things Scott said was that we don't need to hear the history of LISP. That isn't true because it is that history we keep repeating. The features that Ruby (and Python) adherents proclaim are those that LISP has had for a long while.

One of the lessons also is that general programmer community doesn't like LISP syntax. Which is odd since it went nuts for XML which is LISP syntax with more than double the number of backets.

But even McCarthy knew S-expression syntax would be a problem. When he first described LISP, he also expected that folks would want an Algol-like syntax, which he called MLISP. James Meehan even completed a high quality implementation of MLISP @ UCI.

Several other attempts have been made to make a popular syntax for LISP. Probably the best is Dylan.

Long after Wikipedia:DSSSL we get Wikipedia:XQuery.

Object-Oriented HTML

Object-Oriented HTML is something that actually goes beyond today's paradigm.

[#1] Mobile Java (J2ME) on Blu-Ray is a good way to approach Blu-Ray Java for many folks. Another important set-top platform that runs Java is TiVo.