PL inflation (was: ap)
Jon Rosen
jfr at locus.com
Thu Jun 13 16:26:32 AEST 1991
In article <4137 at optima.cs.arizona.edu> gudeman at cs.arizona.edu (David Gudeman) writes:
><stuff deleted>
>And even if no other language is exactly what you want, in general you
>would be better off using a language that is "close enough" or taking
>a well-known language and modifying it. The advantage of this is that
>you start with an implementation which has presumably had a lot more
>work put into it than you are capable of doing. Also, you begin with
>a ready-made community of users who are familiar with the language.
>
>I suggest at least referring to Scheme (in several guises), Icon, GNU
>Emacs, Xlisp, Prolog, and Little Smalltalk. All of these are freely
>available or have freely available implementations. They are all very
>powerful high-level languages. Most of them are available on a wide
>variety of platforms. Most of them have very good implementations.
>Most of them have large existing user communities.
>
>This inflation of languages is getting ridiculous.
Says who (besides you Dave)? And why? Languages are the tools of
programmers... Take a comparable example, the craft and engineering
of small parts manufacturing... Each part is a design work unto
itself... Sometimes the part can be manufactured by using one or
more existing die-casts in which case the manufacturing process
is relatively quick... Most times, you need to build a new die,
and sometimes you need to build a new tool to make the new die...
There are now fancy digitally-controlled tools to make special
die, but sometimes, you even need to build a new one of these...
Sometimes, the existing languages just don't cut it... Sometimes,
even if you could force an existing language to solve a problem,
it would be easier to use a better language... And if you expect
to have to solve similar problems in the future, such a language
can be made specifically to suit your needs... Sure there are
extensible languages that can be used, but this is only one
option... If someone feels confident enough to tackle the task
of building a language, why should some religious babble about
"inflation of languages getting ridiculous" be given the time of
day? IMHO, of course... If no one else wants to use it, what's
the harm that has been caused here? And if someone else (or many
others) WANT to use the new language, so much the better!
> (I don't mean to
>pick on you specifically, Tim, you are certainly not the only
>offender). People have to realize that everyone has slightly
>different tastes. If you do (by some miracle) manage to design and
>implement a language that is perfect for your needs then it is
>guaranteed to _not_ be perfect for anyone else.
Again, who says???? And jeez, you call Tim an "offender"!
I mean, he hasn't raped anybody!!!! He just wrote his own
language for chris' sake!
> Compromise is
>necessary in any cooperative endeavor. The world will not be a better
>place when everyone has their very own programming language that is
>not readable by anyone else.
You should tell this to the hardware people... This argument would
then read that the world will not be a better place when everyone
has their own hardware instruction set that is not readable by
anyone else (this argument, IMHO, is better than the one about
languages, BTW)... And yet, this would put an absolute cabosh on
any technological improvements in hardware....
>Yes, many programmers brought on C and shell scripts will prefer Perl
>to Scheme, but these preferences are largely volatile (or so I
>believe) and only the most reactionary programmers would be unable to
>get comfortable with Scheme after a few weeks of using it. The
>disservice of Python and Perl is that another community of programmers
>will "grow" into these languages, developing tastes that are not only
>opposed to Scheme and the other languages I mentioned above, but also
>to shell scripts, C, and the other one of the pair.
I prefer REXX myself, thank you very much (and thank you Mike
Cowlishaw as well)... Am I a heretic because I think Scheme
sucks (actually, I really don't know this, I am just using
it as a strawman)...
>
>I strongly believe that the proper way to do language design is to
>modify existing languages, being sensitive to the reactions of the
>larger community and not relying too heavily on personal taste. At
>very few points in language developement is it wise to throw out all
>existing frameworks and produce a completely new language.
Why the hell not? Some of the best languages have been done this way.
Smalltalk required creating a completely new kind of language as
did LISP and SNOBOL ... Other languages have been extrusions of
existing languages or mergings of the best of several such as Ada,
and C++... Who knows who will develop the next great language?
And who wants to stop them?
By the way, if this was the case, we would all still be programming
in some dialect of a) FORTRAN, b) COBOL, or c) Autocoder.... Hardly
high technology, if I say so myself... Perhaps you would like to
consider what the world would be if the inventors of some of the
languages you now mention as "sacrosanct" like Scheme and Icon (a
language which I personally like, and which would not have been
invented if Ralph and Madge Griswold had decided to modify SNOBOL
instead of junking it and starting more or less over again) or,
yes, even C, if these inventors had to conform to your so-called
rules against language inflation...
No, Dave, this is a bad case to try to make. If Tim wants to
try and build a new language (and it looks like he certainly has
done SOME things right, like making strings atomic objects unlike
the screwy way C does it!) more power to him. If he really actually
implemented ICI in a month (as he says), sounds to me like he is
someone I would like to consider hiring, not criticize for his
attempt at innovation. I have implemented several sub-languages
and I know how hard it is. Maybe your attack stems from just a
little bit of jealousy... Not that I know, of course, just a thought :-)
Jon Rosen
More information about the Comp.unix.shell
mailing list