Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!adm!dsill@NSWC-OAS.arpa From: dsill@NSWC-OAS.arpa (Dave Sill) Newsgroups: comp.lang.c Subject: The need for D-scussion (was Re: D Wishlist) Message-ID: <12176@brl-adm.ARPA> Date: 8 Mar 88 14:54:44 GMT Sender: news@brl-adm.ARPA Lines: 60 In article <1988Mar6.005553.1284@utzoo.uucp> Henry Spencer 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