Thant Tessman <·······@signature.below> wrote:
> Java sucks. Java has the execution speed of an interpreted
> language and the development speed of a compiled language--
> the worst of both worlds.
Use a JIT-compiler, that will do the job. Really.
> Java has garbage collection, but no closures! And you still
> have to litter your code with checks for null pointers.
Use Pizza instead of Java :-)
(BTW: the null in Java is conceptual identical to the nil in Lisp, not
to the NULL in C++).
> It's "strongly" typed, but to build your own generic container
> classes you have to resort to storing "Objects" and dynamically
> typing them anyway! (To be fair, I know of at least one
> excellent proposal to fix this.)
Again, use Pizza. They support generic classes (something like the
templates of C++, but instead of them they work)
> Java's advantage is that it has a superficial resemblance to
> C++ which soothes the neophobes. The idea of writing something
> that runs on *anything* is an attractive one, but I wouldn't
> write in Java for any other reason.
Actually that's the worst you can do - learn C++ before Java totally
misleads you in the use of Java. Java only has the syntax of C++, but
the semantics are quite different. Ok, C semantics apply to a modest
degree, but C++ definetely not. Java is much more like a typed Smalltalk
than it is like C++.
I quite like Java (and Pizza even more). Ok, I don't like the syntax,
but I like the concept of a accepted virtual machine. But then, I
learned programming on UCSD-Pascal ;-)
But although I do program in Java and Pizza, it won't stop me from using
Common Lisp. Common Lisp is just to good - everything you may need is
alread there, and it's even there in several flavors! And you don't need
that brain-damaged type-casts you clutter your Java-code with (actually
_that's_ the biggest minus for me with Java. A static typed language
that needs that much type-casts must have something missing in the
design).
bye, Georg