mjd-perl-pm on Mon, 6 Mar 2000 11:21:34 -0500 (EST) |
> > LISP. I usually counter the argument that LISP is the One True Language on > > account of its aesthetic simplicity or what have you with the following > > questions: > > > > (1) Would you like to try writing a CGI script in LISP? Well, that would depend on who you ask. But I also think it's the wrong question, and I brought up a related point in a review I once wrote. If all you're ever going to do is write a bunch of CGI stuff, then it doesn't really matter what language you use. Lisp, Perl, whatever. I've written CGI scripts in C, and I know Lisp would be a lot better for that than C was. I think the right question might be more like this: (1) Would Lisp be an appropriate language if you wanted to write a 100,000-line analog circuit simulator? or (1) Would Lisp be an appropriate language if you wanted to write an optimizing FORTRAN compiler for a high-performance distributed multiprocessor supercomputer? And for both these things I believe the answer is `yes'. > > (2) Which would you rather do, given only the following choices? > > (a) Write a Perl interpreter in LISP. > > (b) Write a LISP interpreter in Perl. Now *that* is really an unfair question. Obviously it's much easier to write a Lisp interpreter in Perl----and that's because of Lisp, not Perl. It's easier to write an interpreter for Lisp in *any* language, because Lisp is a really simple, straightforward language and Perl is a convoluted, baroque monster that nobody understands. It's certainly not because of any special good qualities of Perl, and you can prove that by pointing out that it's even easier to write a Lisp interpreter in Lisp than it is to write one in Perl. Now let's turn it around. Which would you rather do, given only the following choices: > > (a) Write a Perl interpreter in Lisp. > > (b) Write a Perl interpreter in Perl. You might choose (b) because you know Perl and not Lisp. But I know both, and I'll choose (a). I'll probably get done first, and when we're done, mine will compile to native machine code and yours will still be interpreted. As a final note on this, I'll just point out that Chip Salzenberg has been working for more than a year to write a Perl interpreter in C++, but I could probably turn out a working Lisp interpreter in C++ in about two days. It's taken me about ten years to see it, but when those Lisp zealots say that Lisp is the One True Language, they have a lot of good points. Lisp really *does* have a lot of very powerful features that are not shared by other languages. The reason programmers from other languages don't appreciate this is that they have not been exposed to these features and so they don't know how to use them. When a Lisp person says ``Lisp is good because it has a uniform syntax,'' or whatever, everyone else says ``Big deal, I've programmed my whole life without uniform syntax (whatever that is), so it couldn't be very important.'' But of course this is fallacious, like a cranky old guy on a park bench saying that in his day, nobody needed any of these here new-fangled portable telephones. (Another reason people don't appreciate the good qualities of Lisp is that the Lisp community is *amazingly* bad at evangelism.) **Majordomo list services provided by PANIX <URL:http://www.panix.com>** **To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**
|
|