Choosing a programming language as a competitive tool

Steven D. Majewski sdm7g at Virginia.EDU
Fri May 4 00:31:08 EDT 2001


On Fri, 4 May 2001, Courageous wrote:

> IMO, Lisp is "inherently difficult" the same way Perl is. Sitting down
> and reading Lisp code written by various programmers will often
> result in reading what appears to be almost another language each
> time.

 That's not a bad comparison: to Perl. But as a few others have 
said: Writing Perl is easy -- it's going back and reading what
you've written 6 weeks later that's tough! ( Someone else (Tim?)
said: I find it easier to read someone else Python code than to 
read my own Perl code 6 months later. ) 
 Lisp is definitely easier to write than to read. 
 I still think Python is easier. 
 But Lisp is probably easier, or at least not more difficult than most. 


 Whether it's easier than Perl depends a lot on where you're coming
from. Perl was designed for unix sysadmins, and if you're a unix
sysadmin, used to Awk, grep, various unix shells, and most of the
unix C library, you're going to take to Perl pretty quickly. 
 But if I had to teach programming to someone who had no computer
experience at all, I'ld MUCH rather try to teach them Lisp than
Perl. Except maybe if the goal was not just to teach programming
in general, but to teach them to do the sort of task that Perl or
Perl's library is particularly good at. But in that case, I'ld
certainly prefer to teach them Python if that was an option. 


> We do know that, for some reason we can't put our finger on,
> the "market has spoken". 

  Well -- if you go strictly by market popularity, then Windows and
Visual Basic Rules! ( And Python comes in pretty far down the list
after Java, Perl, C++, Javascript, a couple of proprietary database/
4GL languages and maybe Cobol. 
  On the otherhand, I don't think what the market says is meaningless 
either -- it just needs to be interpreted in the light of other factors -- 
just like the marketing saying: "Listen to your customers -- and then
ignore what they're saying"  ( i.e. They know what they need, but what
they say they want may be utterly wrong, and usually couched in terms
of what they are used to doing, not in terms of what is possible. ) 
  So I think the fact that Lisp has survived so long and is still 
viable -- and not just for legacy apps but for new projects -- 
means something. The only other languages of that generation that 
are still active -- Fortran and Cobol -- are mainly kept alive by
their vast legacy code base 


>				Amongst other things, I believe that
> a great many programmers simply don't LIKE Lisp. Personally,
> I can see why. It doesn't help, for example, that Lisp (more or
> less) outright enforces an editor on you. Writing programs in
> Lisp without Emacs is... um... awful.

 I haven't run into many programmers that have actually used lisp
that don't like it. Love-Hate might be a better term for the typical
relation to it. ( I'ld use the same term about Unix. ) 

Re: editors:
 I've used Alpha on the Mac more than I've used emacs for Lisp. 
A good editor is even more of a requirement for C or C++ ( or
Java which is even more verbose. ) 


> BTW, don't get me wrong. Lisp has it's good points. For example,
> while I'm not fond of the s-expression per se, what it achieves is
> awesome. And I absofreakinglutely love Lisp's macro system for
> certain very specific problems.


Lisp is a lot like Unix. It's a hacker's system. 

>From a users point of view, the only OS that was crappier than Unix
was DOS. Every other OS -- VMS, RSX, TOPS, ... were all MUCH easier
to use, and didn't require you to finish the job by writing a bunch
of shell scripts to finish the job -- it's really more of an 
operating system Toolkit than a finished product. However, nothing
else was as flexible or powerful. Whenever you complain about either
Unix or Lisp on the appropriate forum, you will be told how easily
it can be fixed with just a few trivial lines of code. (The fact 
that most users would find it broken in the first place is not 
supposed to be brought up in polite conversation! ) If you don't
like it, change it! Both have been declared dead several times. 
Both seem to be impossible to kill because the almost perfectly
fill their niche.  If they didn't exist, someone would have to reinvent
something nearly identical (except that their arbitrarily cryptic 
command names would probably be some different arbitrary but equally
cryptic names! )


-- Steve Majewski






More information about the Python-list mailing list