[comp.lang.misc] What makes a language successful?

wgh@ubbpc.UUCP (William G. Hutchison) (12/02/88)

In article <1064@raspail.UUCP>, bga@raspail.UUCP (Bruce Albrecht) writes:
> In article <406@ubbpc.UUCP>, wgh@ubbpc.UUCP (William G. Hutchison) writes:
> >   ... this supports my earlier thesis: that committee-
> > designed languages fail & individually-designed languages succeed. Now that
> > I have defined success and failure more clearly, more people might agree.
> 
> I have sometimes agreed with this thesis, but I really wonder if it's just
> another truism.  There are a lot of languages out there that were developed
> by individuals (Snobol, Icon, Euclid, Trac, FP, etc.) that probably would be
> considered successes under your first criterion, but never achieved wide-scale
> popularity, for numerous reasons, including lack of publicity or machine
> implementations, or similarity to other languages.  
>     [ shrewd remarks about politics, etc. deleted. ]

Good point.  It looks like a dichotomy into success/failure is too crude a way
to categorize languages.  Perhaps the following would find more assent and
less anguished howling from Algol cultists?

SUCCESS-A (widely used throughout the world)
 BASIC, C, COBOL, FORTRAN, Lotus 1-2-3, Pascal, RPG

SUCCESS-B (having elegant design features, but not widely used)
 Ada (I don't know about this!), Algol-60, Algol-68,
APL (this is subjective!), CLU, Edison, Euclid, FP, Icon (?),
LISP (this may catch on yet!), Modula-2, occam

SUCCESS-C (having a devoted cult)
 APL, Algol-68, Icon, Modula-2, MUSL, occam, Ratfor (this is waning),
Snobol, TRAC (?)

FAILURE-D (baroque messes)
 Ada(?), MUSL, PL/I


 Now, is it possible to have a rational discussion about what makes a 
programming language a _practical_ success?
-- 
Bill Hutchison, DP Consultant	rutgers!liberty!burdvax!ubbpc!wgh
Unisys UNIX Portation Center	"What one fool can do, another can!"
P.O. Box 500, M.S. B121		Ancient Simian Proverb, quoted by
Blue Bell, PA 19424		Sylvanus P. Thompson, in _Calculus Made Easy_

bct@lfcs.ed.ac.uk (Brian Tompsett) (12/05/88)

In article <413@ubbpc.UUCP> wgh@ubbpc.UUCP (William G. Hutchison) writes:
>SUCCESS-C (having a devoted cult)
> APL, Algol-68, Icon, Modula-2, MUSL, occam, Ratfor (this is waning),
>Snobol, TRAC (?)
>
>FAILURE-D (baroque messes)
> Ada(?), MUSL, PL/I

  Dont be silly. The number of people who know what MUSL is can be counted on
the fingers of two hands. Manchester know about it, I know about it, one or
two at Unisys Blue Bell know about it and a few people in Bedford Massachusetts
know about it. If you start including every existing language right down to the
ones where the only user is the designer we will never end! [And more than that
it doesnt belong in either category. Most users hate it and it's too trivial to
be baroque]

 BTW. Algol 68 was my first language. I am grateful to my educators that it
was. It did help me to be a better programmer, a better computer scientist and
a better software engineer. It was sad when Algol 68 stopped being taught.

 Another sad point is that even died-in-the wool Algol 68 people like Charles
Lindsey have drifted into putting semi-colons before ENDs. I really hate that
part of Pascal: the fact that is picky where you put a semi colon in the
declaration part and not in the statement part. A bit inconsistent; and very
hard to explain to students. Now Algol 68 was nicely consistent here - and
knowledge of that helps me write better Pascal - or better anything else.

   Brian.
> Brian Tompsett. Department of Computer Science, University of Edinburgh,
> JCMB, The King's Buildings, Mayfield Road, EDINBURGH, EH9 3JZ, Scotland, U.K.
> Telephone:         +44 31 667 1081 x2711.
> JANET:  bct@uk.ac.ed.ecsvax  ARPA: bct%ed.ecsvax@nss.cs.ucl.ac.uk

ok@quintus.uucp (Richard A. O'Keefe) (12/05/88)

In article <1064@raspail.UUCP>, bga@raspail.UUCP (Bruce Albrecht) writes:
>There are a lot of languages out there that were developed
> by individuals (Snobol, Icon, Euclid, Trac, FP, etc.) that probably would be

Euclid was not designed by an individual.  It was designed by a group of
people working together largely by E-mail.  As for Icon, while Griswold is
the driving force behind that, several other people have worked on the
language.  Quoting the HISTORY file which comes with Icon version 7:

  Many persons have contributed to the design and implementation of
  various versions of Icon.  The initial versions were designed by Ralph
  Griswold, Dave Hanson, and Tim Korb.  The initial implementations were
  done by Dave Hanson and Tim Korb with assistance from Walt Hansen.
  Subsequent versions were designed by Cary Coutant, Ralph Griswold, and
  Steve Wampler.  Cary Coutant and Steve Wampler did the initial C
  implementations.  Subsequent work has been done by many persons, notably
  Ralph Griswold, Bill Mitchell, Kelvin Nilsen, Ken Walker, Dave Gudeman,
  and Janalee O'Bagy.  Much of the work on Version 7 was done by Gregg
  Townsend and Ken Walker.

bga@raspail.UUCP (Bruce Albrecht) (12/05/88)

I'm sure there are a lot of compiler writers that would love to know what makes
a language a success, too.  My guess is that there are going to be several
different styles of languages that are successful.  I think that there's always
going to be some call for a business oriented language, an block structured
algorithmic language, object oriented, and a few other classes that may not
yet fit our problem-solving paradigms.  As to which languages, I think it may
depend on which languages have cheap efficient compilers on a large number
of dissimiliar computing environments.

Although I agree with Mr. Hutchinson that using uncommon languages causes
portability and maintainability problems, this is the only way that an
uncommon language becomes common.  If people only stick with C, Fortran or
COBOL, how will we get the next languages that we use to solve the new
type of problems we will have to be solving the the next decade or two.  I
think we are going to be using languages that make it easy to manipulate
relational databases, windows, and parallel processes (not necessarily all
by the same language).  It will be hard to convince people to go to the
new languages that make these sorts of problems trivial, just as it is
hard to get users of obsolete languages to switch to the current ones (just
how many Fortran-66 users are there these days).
the way we program.