The need for D-scussion (was Re: D Wishlist)

Henry Spencer henry at utzoo.uucp
Sat Mar 12 07:52:38 AEST 1988


> >Most of the things on this wishlist
> >are incompatible but unimportant.  (Not trivial, necessarily...
> 
> I disagree that the items on the wishlist are unimportant.  True
> multidimensional arrays, better bit-level data support, a general
> aggregate constructor mechanism, a better declaration syntax, and a
> more general macro facility are *major* improvements...

Au contraire.  All they do is reduce the clumsiness of doing those
things in C.  While that is certainly useful, it is not going to sell
people on a new and incompatible language.  To do that, you need to
show an order-of-magnitude improvement -- overall, not just in a few
narrow areas.  The things you have listed above are all just icing on the
cake; they would *help* sell a language that was already a real contender
for other reasons, but by themselves they aren't enough.  (Analogously,
C++ includes a number of useful, nice small improvements on C, but it
would not be worth the trouble without its abstract data types and
object-oriented type system.)

> I'm sorry, but I just don't think C++ is so good that a *much* better
> language is not possible...

Oh, I agree it's *possible*; my point is that I don't know how to do it.
A little better, yes, that I could do.  Fifteen years of active interest
in language design, and considerable private work on ideas about the
ideal programming language, has given me more than enough thoughts on
ways to improve C.  But most of them would be, indeed, just icing.  My
conclusion, after a lot of thought, is that it doesn't matter how much
icing you put on if there's no cake underneath.  I don't know how to
get the order-of-magnitude improvement needed to make lots of converts.
That requires at least one quantum leap upward in the power of the language,
not just incremental improvements and smoothing down the rough edges.
-- 
Those who do not understand Unix are |  Henry Spencer @ U of Toronto Zoology
condemned to reinvent it, poorly.    | {allegra,ihnp4,decvax,utai}!utzoo!henry



More information about the Comp.lang.c mailing list