SQL in the config file? Ick.
Well, I'm working on the CustomDNS backend this
afternoon. I'm trying to make it completely portable across
different membership databases, preferably without requiring
sysadmins to write any Java code. Maybe I can just put some
table and column names into the config file.
(Will I run into trouble with
crypted/non-crypted/MD5-hashed passwords? These all require
different SQL code. Do I really have to put SQL code
into my config file? Yuck.)
I always forget how much I like Java. Sun's politics are
just awful, and some of the standard libraries are pretty
silly, but there's something fundamentally sleek about the
language itself. IMHO, a good language ought to be
expressive, extensible, blindingly fast, and sleek. If
nothing else, Java is sleek. :-)
(Is anyone working on a completely free implementation
of
J2EE, by the way?)
Long-winded philosophical stuff
welisc feels
that Eiffel is sleeker than Java. I think we're using
totally different criteria here. :-)
I hack on various parts of d2c, a compiler maintained by
the
Gwydion Dylan
project. Now don't get me wrong--I like Dylan way
better than I like Java. Dylan has closures, generic
functions, multimethod dispatch, hygenic macros, and all
sorts of other features that Java doesn't have.
From my (blatantly biased) perspective, Dylan is as
almost
as sexy as a language can get. But it's not sleek.
Let me explain.
Dylan is tricky to optimize well (d2c gets 90% of C's
performance for certain kinds of number crunching, but only
with help from CMU's amazing optimizer code). Dylan doesn't
have a well-defined notion of separate compilation. And
Dylan has quite a few warty little features buried away in
various places.
Dylan is a great language to hack in, but after doing
some
tricky optimizer debugging, I can safely say that Dylan is
unnecessarily hard to implement.
Java, in comparison, is decades behind the
state-of-the-art
in language design. But it still provides garbage
collection, separate compilation, dynamic class loading,
introspection and a clean--but minimal--object model. And
Java accomplishes all this and more without being especially
hard to implement.
That's what I mean by "sleek". It's a term of
admiration for compiler writers who understand Larry Wall's
virtue of laziness. :-)