Lisp, Java, and C++
Scott L. Burson
gyro@zeta-soft.com
Mon, 26 May 1997 21:50:37 -0700 (PDT)
From: Chris Bitmead uid <chris.bitmead@alcatel.com.au> (x22068)
Date: Tue, 27 May 1997 09:33:41 +1000
>I have seen Lispers bashing Java on Usenet. This strikes me as very strange.
>To me, Java *is* Lisp in C clothing, with a few other goodies thrown in. I
>celebrate it and hope it does great. It sure beats the hell out of C++!
Java beats C++ sure, (what doesn't), and I'd dearly prefer it to
C++. I'd imagine it would actually enjoy programming in it. But Java
isn't Lisp in any shape or form as far as I can see. It's C++ with the
crud taken out, some good features also taken out, and some different
good features put in.
I think Java is *much* closer to Lisp than to C++. Don't be misled by the
strong typing. The variable binding model is that of Lisp (in particular,
pointers are hidden from the programmer); it's safe; it's GCed. Because of
the strong typing, polymorphism is more restricted than in Lisp, but it's
entirely adequate for writing real programs.
I guess if C++ and CLOS were your primary exposures to object-oriented
programming, you might think that Java was more like C++. Certainly Java's
OOP model is not much like CLOS's. But there have been a variety of OOP
subsystems for Lisp, and Java is relatively close to some of them.
And consider this: implementing Java in Lisp would be far easier than
implementing C++ in Lisp. Hell, if I were Franz, I would go ahead and build a
Java implementation on top of Allegro. They'd probably sell a lot more Java
than CL!
-- Scott