Fog Creek Software
Discussion Board

Lisp Man says Java is dead

No intention on starting a flame war, but here is a link to Paul Graham's latest article:

I like the bit where he says this:
"we'll need libraries for communicating with aliens. Unless of course they are sufficiently advanced that they already communicate in XML."


Prakash S
Thursday, April 10, 2003

Paul Graham is a bore, i'm not sure what this article is really supposed to be about. However I have to agree with him in that Java will not survive. It requires too much fucking typing (typing, as in depressing keys on a keyboard) to get things done.  In fact, I got so sick of writing java code, that I have written a set of EMACS LISP MACROS to write most of my java code for me.

"What programmers in a hundred years will be looking for, most of all, is a language where you can throw together an unbelievably inefficient version 1 of a program with the least possible effort.  At least, that's how we'd describe it in present-day terms.  What they'll say is that they want a language that's easy to program in.

Inefficient software isn't gross.  What's gross is a language that makes programmers do needless work.  Wasting programmer time is the true inefficiency, not wasting machine time.  This will become ever more clear as computers get faster."


Thursday, April 10, 2003

I wouldn't say his a bore, but he does repeat himself.  Its always the same mantra:

LISP did it first
Bottom Up Programming
Optimisation Doesn't Matter

over and over again, in all his articles.

Ged Byrne
Thursday, April 10, 2003

From the article:

"Cobol, for all its sometime popularity, does not seem to have any intellectual descendants. It is an evolutionary dead-end -- a Neanderthal language."

"When I say Java won't turn out to be a successful language, I mean something more specific: that Java will turn out to be an evolutionary dead-end, like Cobol."

Two points:

1. If Java turns out to be anything like Cobol (i.e. becoming entrenched in virtually every business application for a couple of decades, and then lingering for another 15-20 years in 'legacy applications'), Sun and every Java programmer on earth will be so happy, there will be parties and parades in the street.  The fact that according to the 'sophisticated' standard that Graham puts forth, Smalltalk is a more successful language than Java (due to it being the head of a very long evolutionary branch) shows that that very same standard has an uncountable number of things wrong with it if you are coming from any programming environment that doesn't resemble an ivory tower.

2. Graham wants to find programming language that will serve him well for a 100 years -- I certainly don't.  There is something in every programming language that speaks to and addresses the problems of the day when that language was developed.  If the same programming language persists for too long, it starts to lose touch with the reality that is changing around it.  If it did happen that a language persisted for 100 years, it would be sign that the challenges and problems in programming and software design went unchanged over those 100 years.  That's the definition of boredom, at least for me.

Of course, Graham believes that it's possible to create something akin to a platonic lanaguage that embodies the essence of functionality, usability, productivity, et al. which will last in virtual perpituity, without it losing touch with the reality that shifts under its evolutionarily superior feet.  I, for one, am not holding my breath.

Thursday, April 10, 2003

Nobody can tell the future, 100 years, damn, we'll all be dead or about to be by then.

Also, the hammer exists since quite a while. It doesn't evolves much because it solves one problem. This doesn't makes it useless or dead in any way.

Java is okay b/c it allows people to work together efficiently. Never before did we had all those libraries available for free...

Bah, ... let's produce a solution to a problem w/ a tool that solves it. Who cares if it is Java or not ? I know about Java, I use it if suited. If not and if another tool exists, just subcontract the work to a knowledgeable person and try to get up to speed if there is a significant $$$ benefit.

This is business, not religion...

Thursday, April 10, 2003

>> This is business, not religion...

You haven't been working in the same industry that I have, then...

COBOL v/s Fortran v/s Assembler
emacs v/s vi
Unix v/s Windows
C v/s C++ v/s Java
bracket placement

Thursday, April 10, 2003

I think to some degree it depends on your perspective.
If you're going to solely follow the product line, then Java may be in its death throes, and VB lives on in VB.Net.

However, if you take a looser approach to "lineage", then I'll venture that while Sun's Java may die, MS' C# is picking up the banner - if you put your prejudices aside, C# is pretty close to being the next generation of Java.

In addition, Visual Basic is dead. It died with version 6. VB.Net is some kind of VB/Java hybrid that's a transitional state which I'm hoping everyone will let die. :)


Thursday, April 10, 2003

Why let VB.Net die?  It does almost everything that C# does  and compiles down to the same MSIL code.  I think that both C# and VB.Net have a place in the Microsoft pantheon.  Besides, I hate all those damn {}'s.

Now, what could kill VB.Net is if Microsoft dum's down the language so all those Access\VBA\VB programmers who don't know what they are doing can be productive. 

(BTW, I like the barrier to entry that VB.Net creates.  I spent too much time fixing VB6 code written by so called 'programmers' who believed that everything should be Global.)

Eric Budd
Thursday, April 10, 2003

I hate these stupid holy wars!!!! Why get tied to one technology?????

Personally for me, the best type of project to work on is one that uses a different mix of technologies.

I just finished a project using a J2EE Weblogic Web Services middle tier with a VB.NET Windows .exe on the client. It was totally awesome!!!!!!!!!!!

Java doesn't compete with VB.NET yet for rich clients that are simple to build. Right now ASP.NET web forms are better than Java's JSP or XSL (Although JavaServer Faces are supposed to close the gap).

Why not have an open mind & take advantage of all technologies and not have a bias toward one or the other?

Why is it always J2EE or Microsoft? Why not both?

Thursday, April 10, 2003

He makes the point to separate the details of a language into "fundamental operators" and "all the rest" then goes on to say that successful languages are the ones that minimize the number of fundamental operators. And then gives examples of things that are fundamental operators in many languages that he feels we don't need (e.g. strings, arrays, maybe numbers).

He doesn't have much to say about "all the rest". Presumabily he would move strings into "all the rest" since we would still want our languages to have functions to manipulate strings (if you think that I'm ever going to write a string tokenizer function again, you've got another thing coming).

But, I think that the basic concept of splitting up a language into these two parts is fundamentally flawed. The line between the core of the language and all the accompanying libraries of code has broken down completely. It was already falling apart in C (does anyone program C without assuming that the standard I/O library is available?). But with Java and C# the distinction is almost completely gone. Programming languages have become complete environments were you can assume that tons of libraries are naturally going to be available. And separating out a language's "fundamental operators" and it's "all the rest" just doesn't work.

Bill Tomlinson
Thursday, April 10, 2003

Prakash: He explicitly states, "My point here is not to diss Java." I was at PyCon 2003 when he delivered this talk. That's right -- a *Python* convention. So even though he's written two books on lisp, "Lisp Man" isn't entirely accurate, especially in this context.

choppy: He is decidedly *not* boring, IMHO. Of course, this is the height of subjectivity, but did you read his essay on growing up as a geek? Have you ever heard him speak?

Phil and Chas: You're missing the point of the essay -- what he means by "dead". Not "dead" as in having no users or developers; "dead" as in a "dead end".

Joe Grossberg

Joe Grossberg
Thursday, April 10, 2003

"choppy: He is decidedly *not* boring, IMHO. Of course, this is the height of subjectivity, but did you read his essay on growing up as a geek? Have you ever heard him speak?"

Yes, I've read all of his stuff, and I saw him speak at the SPAM conference. Yes, boring is subjective...however does the world really need another guy from Cambridge, MA rambling on about LISP? The world definitely doesn't need another web page about "geeks in high school." Both very tired subjects, IMHO.

Thursday, April 10, 2003

If "too much typing" is the problem, and as a python zealot I know that it's *one* of the serious problems, then c# is in the same boat.

Java and c# are the primary langauges of what most of the enterprise world sees as the only two viable platforms...J2EE and .NET.

Yes, there are other langaues for both VMs, but will the next new improved language just complie to them?

I think the Parrot VM is much more interesting:

fool for python
Thursday, April 10, 2003

If "too much typing" really is the problem, then I'm glad I know perl :)

Andrew Hurst
Friday, April 11, 2003

No descendants eh ... Microsoft's C# comes to mind.

Daniel Shchyokin
Friday, April 11, 2003

> If "too much typing" really is the problem,
> then I'm glad I know perl :)

s/typing/banging head on wall/

Benji Smith
Friday, April 11, 2003

*  Recent Topics

*  Fog Creek Home