> So then the question becomes: What features are compelling that java does
> not have?

Fun, really.  It should be more fun to write code in than Java is.

That means the runtime should start without noticeable delay, there
should be an interpreter installed by default, and the syntax should
be pleasant to read.  To keep the sense of fun, it should be difficult
to get into difficulties with mutable values and threads, because it's
not a lot of fun to solve those problems.  It should be difficult to
use the supplied APIs incorrectly, because working out what you did
wrong based on runtime errors isn't fun (I'm looking at you, Swing and
GWT).

<> brackets are not fun.  C++'s templates, Java's generics and XML's..
XML show this quite clearly, so we don't need those.

Lambdas are fun, single-method anonymous classes are not.  Type
inference is fun, repeating types everywhere is not.

A language that helps you as much as you want to get your types right
is fun, a language that delegates that to the runtime is not.  Though
it is good to be able to selectively delegate that to the runtime as
you desire - sometimes you know (ahem!) code will work no matter what
the compiler says.

It should target fun platforms.  The browser, Android, iPhone and
native are fun platforms for various reasons, the JVM and the CLR are
not.  They're useful, but not fun.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to