Re: Am I becoming a language zealot?

Date view Thread view Subject view Author view

From: Jeff Bone (jbone@jump.net)
Date: Sat Mar 11 2000 - 20:45:09 PST


It will pass. Started using it back when it was Oak, became a zealot for it,
had the same "I'll never use anything else ever again" thoughts, and bet my
company on it about the time it changed names... at this point, I wouldn't use
it for anything other than Web apps, and then not even that given other
choices. (My current play is pure Web, and we're using PHP (ugly but works
well) and Python for some componentry.) I certainly wouldn't use Java for
system-level stuff, client-side stuff, anything with a UI, or anything that
required any particular performance. (I know, I'm over-reacting, but once
bitten, twice shy. DO NOT build standalone client apps with Java. Trust me on
this. Users don't like multimeg downloads, and if you don't control the
deployment environment Java really is write once, test everywhere. ;-)

I actually think that Java's immaturity, performance, UI weirdness, lack of
simple platform integration, QA nightmares, runtime luggage, and the Java hype
backlash all cost us some amount of momentum at Activerse.

Adam B. says "... but it's hot." So my question is, am I in a timewarp or am I
just running too far ahead? I'm having a hard time processing that we're
having a convo about Java being hot, on the FoRK list, in March 2000!

It's my opinion that Java is now basically just C++ redux; it's got the same
enterprise developer stranglehold, and the same kinds of failing-project
characteristics that C++ had through the mid-90s. Both are viable languages,
and both scale well to mid-size team development. Neither is the panacea of
software engineering that one might think from all the hype.

I actually don't think that's so much a language issue as a general software
engineering problem.

Java *does* have some interesting academic characteristics. Its treatment of
types and the class / interface distinction actually jibe well with certain
type-theoretic viewpoints. (As far as they go, that is.)

Steve's point about memory management and pointers is right on the money; I
wouldn't ever consider using a language w/o garbage collection or with naked
pointers again. OTOH, not having a "free()" with reasonable semantics in Java
is a minus.

The politics are getting ugly. (If Sun wants a standard, they should work
toward a freakin' standard.)

Its class libraries are out of control. Way too much stuff bolted on before
addressing the *real* issues. Still not enough nuts-and-bolts: native
(static) compilation, platform integration... not enough "higher-orderness."
Needs more reflection. Needs first-class packages. Needs first-class,
possibly generic function objects. (No, the reflection API doesn't really do
this.) Needs type inferencing and auto-construction of interfaces from
classes. Needs parametric types.

If you look at the languages that actually get used to solve *a lot* of the
problems on the Web (i.e., Perl and now Python as an emerging possibility) you
find that they're quick-and-dirty, really only suited to individual or small
team development, and higher-level in terms of abstraction. (Perl has lots of
high-level IO, Python is closer to Java but noncommital on its OOP vs.
proceduralness, which lets you do quick-and-dirty much more easily.) Perl and
Python quietly mop up the IT messes that C++ and now Java are leaving behind.

Have a look at Rebol: it's interesting. Rebol was the thing, really, that
caused me to reopen my consideration of other languages. It has high-level,
language-level support for network stuff in much the same way that shells have
high-level support for local interprocess IO. It maps network protocol
handling onto polymorphic manipulation of language-level sequence objects in a
really ingenious way. This makes it very good at certain kinds of 'net "glue"
coding. Lots of zits, semantic and conceptual; scoping rules SUCK!; not really
usable for "real" stuff, at least Web / team stuff yet; but a better look at
the future IMO than Java. I.e., I think that Rebol is really the first of the
new-new generation, and Java is just a particularly beautiful and refined
example of the status quo. (Perl and Python are gappers, but hyperactive and
productive ones... ;-)

$0.02,

jb

"Joseph S. Barrera III" wrote:

> The more I program in Java, the more I love it. I'm sort of scaring myself,
> really. I find myself thinking, "if/when I change jobs, it's only going to
> be to a place that uses Java, and NEVER to a place that uses C++". I know
> this isn't rational. Or at least, I've spent my entire career looking down
> at language zealots, and here I am becoming one. Is this just a stage that
> will pass? Or does it just get worse?
>
> - Joe
>
> Joseph S. Barrera III
> Software Architect
> Broadbase Software, Inc.


Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Sat Mar 11 2000 - 20:52:49 PST