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

Re: Diversity - existence, value, and pursuit.

It could well be a complete and utter accident that the
most popular languages have the syntax they do.  I think
C would have become one of the most popular languages no 
matter what its syntax, because it was what you used to 
hack Unix.  

Try the following thought experiment.  Suppose the Unix
guys had given C prefix syntax.  Two possible outcomes.
(a) Unix still becomes popular, (b) prefix syntax is
unbearable for users and the role of Unix is filled by...
what, VMS?  

It seems to me that the balance of probability favors (a).
People liked Unix for what it did, and weirdness in the
language they used would not have been enough to tip the
scales against it.  And if Unix did still win, and a 
prefix language was what you had to use to hack it, then
hackers would have dealt with prefix.  Result: one of
the most popular (if not the most popular) languages
would be prefix.

And indeed (extrapolating a little) many of the people 
who now say that prefix notation is unnatural would be 
saying the same thing about infix.

Lisp wasn't my first language.  I programmed for years
in languages with infix syntax before learning Lisp.  
I think neither notation is any more natural than the
other, except for math, which I still find easier to
read in infix.  The advantage of prefix is that it *makes
macros work*.  As a user, I don't consider that a 
decision made at my expense; programming without macros
would be unbearable.

(BTW, I suspect both CL and Emacs Lisp are in the top 20.
Autolisp might be too.)

--- Simon Cozens <simon@simon-cozens.org> wrote:
> On Sat, Dec 01, 2001 at 01:30:58AM -0500, Mitchell N Charity wrote:
> > Undisputed is (1) s-exps are a powerful representation, (2) non
> s-exp
> > representations can recapture some of that power, (3) but not all,
> (4)
> > but they can be more concise, (5) the true value of 1 and 4 are
> often
> > not fully appreciated, and (6) both have learning curves and human
> costs.
> Whoa there! Let me just dispute these undisputeds! :) "recapture" is
> a
> loaded word; it shows that your premise begins with the idea of
> S-exps
> being the be all and end all of programming language syntax, and
> everything else being a pale imitation. 
> "powerful" is similarly loaded; I would claim that S-exps give the
> language designer and implementer a lot of power at the expensive of
> the
> vast majority of users - it is not by complete and utter accident
> that
> approximately zero of the twenty most popularly used programming
> languages are S-exp based. 
> People don't like S-exps, or at least, they think they don't; the
> world
> may make a lot more sense when you do start thinking in S-exps, but
> the
> vast majority of programmers Out There don't want to do that. 
> Perhaps your key point should be 5) - the true value of S-exps is
> often
> not seen. But it's not seen by users, and we have to ask ourselves if
> we're providing the languages that users want, or what we are
> presumptuous enough to think they ought to have.
> -- 
> A witty saying means nothing.  -Voltaire

Do You Yahoo!?
Buy the perfect holiday gifts at Yahoo! Shopping.