[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: virii



Thatcher Ulrich <tu@tulrich.com> writes:

> * Richard Cobbe <cobbe@airmail.net>:
> >  
> >  So, yeah, Perl is pretty successful.  This is due more, IMO, to market
> >  forces than to technical superiority.  And I can cite you any number of
> >  examples, like the one above, where the two don't produce the same results.
> 
> Sure.  I'm just saying the definition of "technical superiority" is
> somewhat arbitrary -- e.g. better orthogonality is usually considered
> a sign of technical superiority, yet runs-well-on-every-platform
> isn't.  And yet, for getting stuff done, orthogonality is far less
> important.
> 
> I guess I'm saying I advocate a more wholistic and utilitarian
> definition of technical superiority.

(This is more an FYI than a spelling flame, but there's no `w' in
`holistic'.)

In general, I agree with you.  In particular, my concept of technical
superiority has to include ease of maintenance.  This is one place where
Perl has serious problems, IMO.  For instance, the language's type system
is really too weak to do any sort of serious checking, so you can't use it
to enforce your program's invariants.

So, if you change a function so that its third argument is now supposed to
be a number, rather than a string, Perl's not going to be able to give you
any meaningful diagnostics.  If you forget to change one of the places
where you call the function, Perl will simply convert the bogus `number' to
zero and move on, so you'll likely get bogus output with no indication that
there's a problem.  This sort of situation gets increasingly likely as code
size increases, and as it gets longer since you last worked with the code.

Basically, here's my working definition of technical superiority: how much
effort does it take me to accomplish a particular task in language X?  If I
can accomplish this task in language X with half the effort that I can in
language Y, then I'll claim that X is better than Y -- for that task.

In my experience, Perl loses this kind of test far more frequently than it
wins.

As far as running well on every platform, have you checked out some of the
commercially available LISP compilers?  They've got implementations for
several major platforms, including Win32 and several flavors of Unix.  If
you'd prefer free software, check out <http://www.plt-scheme.org/>, which
runs more-or-less identically on Win32, MacOS, and Unix/Linux.  (The only
differences tend to be in necessarily system-dependent things, like shared
libraries, filesystems, and UI controls.)

Richard


-- 
To UNSUBSCRIBE, email to debian-user-request@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: