14 Oct 2000
(updated 14 Oct 2000 at 18:18 UTC) »
I'm begining to come to the conclusion that understanding Java's learning curve is about 40% of understanding Sun's ontology of confusion on what exactly Java is. Yes, it's a language, but it's also a class library, and a security concept, and a virtual machine. But it goes well beyond even that if you start to deal with anything other than the J2SE. For me, I deal with the J2SE, the J2ME (which encompases the KVM, usually paired with the CDLC, which I'll use with the MDIP in some cases, but not in others). Some of the more interesting non-Sun Java related projects like E and Waba seem a lot more conceptually complete. The constant renaming Sun does to Java seems to be a half-hearted attempt to provide a complete solution to everything using an (IMHO) okay (and saying "okay" is generous coming from me when talking about Java, most days) language/VM/security model/library/rubber duck. And I'm sure it'll only get more interesting when C# and .NET hits the mainstream (MSDN developers already have some iteration of it).
I wouldn't mind having a CommonLisp.NET, necessarily. We'll see.
I'm not particularly looking forward to getting down and dirty with Java anyway, but I'll do it. I think I'll still like it more than C++ or Perl. Perhaps I'll like it more than C (which wouldn't be too hard). The scary thing is that I know enough Java to be dangerous from an architect standpoint yet I don't know if I want to know enough to be dangerous from a builder standpoint.
It doesn't need to be said, but I would so much use Common Lisp, a decent Scheme, or Smalltalk over Java any day, if only I could do with them what I can do with Java (if the hype is to be believed) -- put it on mobile phones, PDAs, etc. Technically, it's all doable, but none of those have Sun rallying behind them as team cheerleader, and others like IBM with pom-poms firmly held high.
I've been playing more with Xanadu and Udanax toys. Picked up where I left off on jwz's Intertwingle too. Current milestones are to hack together a basic Intertwingle implementation in Smalltalk or Lisp (I'm partial to Smalltalk for this for the easy GUI bit). Yet more reasons to work on that Lisp to Smalltalk/Smalltalk to Lisp tool. On a more mundane level, I think you can build a decent Intertwingle out of some common Emacs tools, namely BBDB, VM, and Gnus -- modulo some modifications and hackery to each.
The next bit is to coax secrets out of the Udanax Gold code, which is all currently couched in a particularly twisted, heavily modified ParcPlace Smalltalk and special Smalltalk subset. And there's a C++ translator in there somewhere too.
Flying up to Toronto on Sunday. Planning to kill time with co-workers and launch new and exciting (read: sketchy and dangerous) research proposals. The basic R&D squad is actually coming together quite well, this round of talks should help cement some questions I still have.