Sigh. In Defense Of Inheritance
Bill Frantz
frantz@communities.com
Mon, 26 Oct 1998 18:57:36 -0800
At 09:16 PM 10/25/98 -0700, Marc Stiegler wrote:
>No. People will go for quicker and easier every time. Perl could not
>possibly exist in a world where simpler beat out quicker and easier. When
>simpler is also quicker and easier, no one argues. But if they are in
>conflict, they can resolve together only following a breakthrough invention.
>Until then, bet on quicker and easier as the winning strategy. As I noted in
>another context, GOTO statements continued to win until the alternatives
>were just as quick and just as easy.
I agree that people will go for quicker and easier every time. That
includes us. The question is, what kind of problems are we trying to
solve. Those of us who have tried to work in a rapid prototyping
environment building very complex systems may have a different idea of what
is quicker and easier than people who are just trying to automate a bunch
of commands.
I think that I really only know 3 computer languages:
Machine language (for many different machines): This language includes a
number of different assemblers. (And I still like GOTO. It's the comeFrom
which is hard.)
Fortran: which includes Basic, and the scripting languages EXEC and REXX.
Algol: which includes C, C++, Java.
This limited set of languages, and my basic dislike of being slowed down by
an unfamiliar language, is why when I need to do a complex search, I am
more likely to program it in Java (or assembler on the 370) than figure out
the grep pattern.
If we are trying to build a scripting language, I think we need a
definition of what a scripting language is. I have always thought of a
scripting language as a language which uses the commands of the underlying
OS as its primitives. REXX has very good integration with VM/CMS, and was
very successful there. The PC version has much poorer integration with the
DOS shell, and as a result was much less successful there.
If we are doing a scripting language, to a first approximation, the only
issue is integration. Inheritance, scope of variables, security etc. etc.
are minor issues compared with integration.