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

Dave Sill dsill at NSWC-OAS.arpa
Wed Mar 9 00:54:44 AEST 1988


In article <1988Mar6.005553.1284 at utzoo.uucp> Henry Spencer <utzoo!henry> writes:
>This sort of wishlist is the wrong way to go about it, assuming that what
>is wanted is a language that will actually be widely implemented and widely
>used.  If that is to happen, the new language must be either (a) virtually
>completely upward-compatible with C and significantly better, or (b) *LOTS*
>better than C in at least one area.

Personally, I think (b) is the way to go.  Sure, upward compatibility
would be a major selling point, but it carries with it the dread
Backward Compatibility.  It's hard to leap when you only use one leg.

>Most of the things on this wishlist
>are incompatible but unimportant.  (Not trivial, necessarily, and in the
>abstract I agree with many of them, but that isn't the issue.)  Unless some
>truly major improvement can be had somewhere else, a language designed from
>this wishlist may receive critical acclaim but will never be popular.

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.  Also, although
many of the other items on the wishlist are minor, their combined
effect would be large.

>Remember also that the competition is not just C.  C++ is both upward
>compatible *and* a major improvement in certain areas.

This is a good point.  I think more C++ features, if not all, should
be considered for inclusion in D.

>I used to be very enthusiastic about designing better languages.  But I
>can no longer work up much enthusiasm for lost causes.  I could easily
>design a language that would be noticeably better than C.  However, I don't
>know how to design a language that is *enough* better than C++ for it to
>be worth the trouble.

I'm sorry, but I just don't think C++ is so good that a *much* better
language is not possible.  The upward compatibility that makes C++ so
attractive initially will probably be its downfall.  Most of its
weaknesses and limitations are a result of backward compatibility.
Don't get me wrong, I think C is an excellent language; and C++ is
even better.  But I also think a much better language based on C/C++
but with some of the weaknesses removed and better support for current
and projected state-of-the-art environments is not only possible, but
worthy of pursuit.

If nothing else, this discussion serves to highlight the imperfections
of C/C++ and to stimulate thought on what could be done better.

>Those who do not understand Unix are |  Henry Spencer @ U of Toronto Zoology
>condemned to reinvent it, poorly.    |{allegra,ihnp4,decvax,utai}!utzoo!henry

Similarly, those who understand C and its limits are less likely to
propagate them.

=========
The opinions expressed above are mine.

"Don't let existing sub-optimal solutions cloud your vision."
					-- Fred Fish



More information about the Comp.lang.c mailing list