[comp.lang.misc] Kolstad's Konjecture

tchrist@convex.COM (Tom Christiansen) (02/26/91)

From the keyboard of guido@cwi.nl (Guido van Rossum):
:If you want to see for yourself what the advantages are of using
:indentation for grouping, you can now fetch the brand new Python
:language from alt.sources or an archive (it is stored in pub in
:wuarchive.wustl.edu) and learn Python -- an alternative to Perl with
:reasonable syntax, if I may say so.

"Reasonable" is a matter of perspective, not fact.  For me, having
whitespace be significant and using indentation for grouping are
highly undesirable traits.  Guido as speaking as the language's
author.  I don't really want to speak for Lwall, but it wouldn't
surprise me if he though perl to be an alternative to python, but
with a reasonable syntax.

I guess it's time to throw out an idea I first hear from Rob Kolstad:

    Kolstad's Konjecture: A new programming language will enjoy widespread
    success in the UNIX community in direct proportion to that language's
    resemblance to C; compare the relative success of awk, perl, and C++ 
    with that of icon, scheme, and smalltalk.

Notice that this says "in the UNIX community".  Certainly the latter set
of languages have their proponents, but I think it's pretty obvious that
the first set have caught on so strongly in our community as a direct
result of their similarity to C.  The second set are interesting studies
in comparative cyberlinguistics and have caught on in some other camps, 
but much less so here that the first set.

--tom
-- 
"UNIX was not designed to stop you from doing stupid things, because
 that would also stop you from doing clever things." -- Doug Gwyn

 Tom Christiansen                tchrist@convex.com      convex!tchrist

rh@smds.UUCP (Richard Harter) (02/26/91)

In article <1991Feb25.184544.20726@convex.com>, tchrist@convex.COM (Tom Christiansen) writes:
> From the keyboard of guido@cwi.nl (Guido van Rossum):
	[Plug for Python deleted]

> "Reasonable" is a matter of perspective, not fact.  For me, having
> whitespace be significant and using indentation for grouping are
> highly undesirable traits...

May I suggest that these traits and other differing traits are only
desirable or undesirable in the context of the overall design (if any)
of a language.  Despite the number of languages that have been created
it is actually very hard to do a good job of designing a language.  A
good language has a coherent style; the various features of the language
have to work together.  A given feature, such as using indentation for
grouping, imposes a lot of constraints on the other features of the
language.

> I guess it's time to throw out an idea I first hear from Rob Kolstad:

>     Kolstad's Konjecture: A new programming language will enjoy widespread
>     success in the UNIX community in direct proportion to that language's
>     resemblance to C; compare the relative success of awk, perl, and C++ 
>     with that of icon, scheme, and smalltalk.

This is very astute.  There is sort of a general UNIX style, or way of
writing things.  New ideas which are similar to familiar ideas are more
readily adopted.  Doing things "the UNIX way" has the advantage that the
UNIX way has been tested by experience and that there is a wide audience
that will adopt it readily.

-- 
Richard Harter, Software Maintenance and Development Systems, Inc.
Net address: jjmhome!smds!rh Phone: 508-369-7398 
US Mail: SMDS Inc., PO Box 555, Concord MA 01742
This sentence no verb.  This sentence short.  This signature done.

kpv@ulysses.att.com (Phong Vo[drew]) (02/27/91)

In article <1991Feb25.184544.20726@convex.com>, tchrist@convex.COM (Tom Christiansen) writes:
> 
> I guess it's time to throw out an idea I first hear from Rob Kolstad:
> 
>     Kolstad's Konjecture: A new programming language will enjoy widespread
>     success in the UNIX community in direct proportion to that language's
>     resemblance to C; compare the relative success of awk, perl, and C++ 
>     with that of icon, scheme, and smalltalk.
> 
Partial counter-example: csh.
The rule is that if a new tool provides functions that are already
provided by existing tools, it "may enjoy more success" if it makes
"the migration path seems natural". This rule is independent of community.
csh didn't make it because it wasn't compatible to sh.
On the other hand, witness the success of ksh.
C++ and ansi-C will enjoy success not because they are compatible
to classic-C but because they make the migration path seems natural.

poser@csli.Stanford.EDU (Bill Poser) (02/27/91)

In article <14378@ulysses.att.com> kpv@ulysses.att.com (Phong Vo[drew]) writes:
>csh didn't make it because it wasn't compatible to sh.

Hmm. I certainly don't know the statistics, but I don't think I've EVER
met anybody outside of AT&T who uses sh rather than csh. I used sh
when I was at Bell, and almost immediately switched to csh when I came
to Stanford. Is it really correct to say that "csh didn't make it"?

Bill

poser@csli.Stanford.EDU (Bill Poser) (02/27/91)

I should add that I am talking about interactive shells. I know many
people (including myself) who write scripts in sh but use csh interactively.

 

peter@ficc.ferranti.com (Peter da Silva) (02/28/91)

In article <14378@ulysses.att.com> kpv@ulysses.att.com (Phong Vo[drew]) writes:
> >     Kolstad's Konjecture: A new programming language will enjoy widespread
> >     success in the UNIX community in direct proportion to that language's
> >     resemblance to C; compare the relative success of awk, perl, and C++ 
> >     with that of icon, scheme, and smalltalk.

> Partial counter-example: csh.

Why? CSH was touted as a shell with "c-like" syntax, but it isn't really
anything like C. It's just more C-like than the version 6 shell... a shell
with a basic-like syntax.

If anything, the bourne shell feels more natural to my c-trained fingers.

> csh didn't make it because it wasn't compatible to sh.

CSH predated the bourne shell.

At one time in Berkeley there were three options: the Version 6 shell, a
weird bird called the Pascal shell, and the C shell. If the bourne shell
had been available the C shell would have been stillbourne.
-- 
Peter da Silva.  `-_-'  peter@ferranti.com
+1 713 274 5180.  'U`  "Have you hugged your wolf today?"

meissner@osf.org (Michael Meissner) (02/28/91)

In article <17937@csli.Stanford.EDU> poser@csli.Stanford.EDU (Bill
Poser) writes:

| In article <14378@ulysses.att.com> kpv@ulysses.att.com (Phong Vo[drew]) writes:
| >csh didn't make it because it wasn't compatible to sh.
| 
| Hmm. I certainly don't know the statistics, but I don't think I've EVER
| met anybody outside of AT&T who uses sh rather than csh. I used sh
| when I was at Bell, and almost immediately switched to csh when I came
| to Stanford. Is it really correct to say that "csh didn't make it"?

I dunno, I've use /bin/sh as my one and only interactive shell.  I use
bash nowadays, with ksh occasionally, which are both upwards
compatible extensions of /bin/sh.  I also routinely type in 10-20 line
pipelines and loops directly into the shell without resorting to shell
scripts.  What bothers me the most about the csh is the fact that it
is not a language, you continually have to remember, oh yes, you must
format the if with just the right number of spaces because the csh is
without a clue.

--
Michael Meissner	email: meissner@osf.org		phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142

Considering the flames and intolerance, shouldn't USENET be spelled ABUSENET?

kjj@varese.UUCP (Kevin Johnson) (03/01/91)

In article <17937@csli.Stanford.EDU> poser@csli.Stanford.EDU (Bill Poser) writes:
>In article <14378@ulysses.att.com> kpv@ulysses.att.com (Phong Vo[drew]) writes:
>>csh didn't make it because it wasn't compatible to sh.
>Hmm. I certainly don't know the statistics, but I don't think I've EVER
>met anybody outside of AT&T who uses sh rather than csh.

Heavens no, there can't be anyone using SYSV outside of AT&T... :-/

#include <standard_disclaimer>
'"Arf", she said.'
	- Mr. Frank Zappa
.-----------------------------------------------------------------------------.
| Kevin Johnson                     kjj@phx.mcd.mot.com | ...!mcdphx!QIS1!kjj |
| QIS System Administrator  Motorola MCG                                      |