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