dsill@NSWC-OAS.arpa (Dave Sill) (03/08/88)
In article <5318@utah-cs.UUCP> Donn Seeley <utah-cs!donn> writes: >Actually, this whole 'D' discussion is the best example of how not to >do language design (or indeed any other kind of design) that I've ever >seen. You're missing the point. We're not so much designing a new language as we are pointing out the problems/limititations/weaknesses/omissions in an existing one. I don't think keeping such things in the closet is the best way to deal with them. >Of course, these 'D' proponents have been working from ANSI C's example, This is totally unjustified. >PS -- Can we move the 'D' discussion to comp.lang.misc? Or at least >move the articles that aren't funny? Actually, comp.lang.c is an appropriate location for this discussion. It *is* really about C. We can all benefit by this discussion. >PPS -- Naturally, this brings up the issue of what should go into the >language 'F'... Sure, which brings up the question of G... Until there is a D, with its own shortcomings, there will be no need for a successor. It's foolish to say there is no need for a better language than C, since it has shortcomings we are all too familiar with. Why do you think cdecl is such a popular program? ========= The opinions expressed above are mine. "Words have users, but as well, users have words. And it is the users that establish the world's realities." -- Amiri Baraka
donn@utah-cs.UUCP (Donn Seeley) (03/09/88)
I wanted to desist, I really did, but I forgot the seductions of netnews... From: dsill@NSWC-OAS.arpa (Dave Sill) You're missing the point. We're not so much designing a new language as we are pointing out the problems/limititations/ weaknesses/omissions in an existing one. ... You're missing the point, or at best splitting hairs. This discussion IS about language design; I see no reason to dither about whether we are discussing the design faults of C, or a new design for a language that is 'just like C, but better'. Without a method to the madness, without some design goal or programming methodology in mind, a discussion of language design is pointless. I'm sorry to be so didactic -- it's just that over the years my tolerance for bad design has diminished considerably. I personally feel that C has met its design goals quite admirably. Dennis Ritchie has stated these goals more clearly than I ever will be able to, and if you haven't read his discussion of these goals, how can you comment intelligently about whether these goals were met? (Hell, how can you program in C if you don't know its design goals?) Language technology has changed since C was invented, and any new language design must reflect these changes, which are far more fundamental than anything dredged up in this 'D' discussion. I feel quite irritated that some people are advocating a new language that is 'just like C, only better' -- not that we shouldn't learn from C's successes, but that our imaginations should be so impoverished that we see only C and nothing that has come since C. Even in the realm of the trivial, I have seen no imagination. If you wish to argue that some particular syntax is not 'safe', it would please me and surely many others if you could propose a design that really did have 'safety' as a goal, rather than making little changes in a design like 'C' that is not 'safe' and pretending that the result has measurably improved 'safety'. If you really wanted to impress me, you would cite psychological studies (like those of Don Norman) that show how real people make mistakes and then show how your design acts to limit these mistakes, preferably with a follow-up showing statistics about reduced numbers of programming errors when a sample of programmers implements a given task in your language instead of in C. I picked 'safety' as an example here -- if 'safety' isn't your bugaboo, substitute a better one. >Of course, these 'D' proponents have been working from ANSI >C's example, This is totally unjustified. ... Am I slandering the 'D' proponents here, or the ANSI C committee? :-) My considered opinion is that the ANSI C committee should have standardized C, keeping the original design goals in mind whenever it was necessary to bridge some ambiguity or resolve some conflict between existing implementations. Instead the committee acted much as some participants in this 'D' discussion have acted, each member having some private agenda in mind that would produce a document that enshrined some favorite new feature of theirs, abandoning any esthetic or functional unity of C as a language. I've already expressed my opinion that this is also a disaster for users, since it guarantees porting trouble for applications that incorporate these new features. >PPS -- Naturally, this brings up the issue of what should go >into the language 'F'... Sure, which brings up the question of G... ... Another person who missed the joke... Now I know how Mr. Limoncelli felt. At greater length than originally intended, Donn Seeley University of Utah CS Dept donn@cs.utah.edu 40 46' 6"N 111 50' 34"W (801) 581-5668 utah-cs!donn
dsill@NSWC-OAS.arpa (Dave Sill) (03/10/88)
In article <5333@utah-cs.UUCP> Donn Seeley <utah-cs!donn> writes: >You're missing the point, or at best splitting hairs. This discussion >IS about language design; I see no reason to dither about whether we >are discussing the design faults of C, or a new design for a language >that is 'just like C, but better'. Without a method to the madness, >without some design goal or programming methodology in mind, a >discussion of language design is pointless. Hey, lighten up. So maybe we're just a bunch of amateurs. What's the harm in a little "pointless" discussion? Or maybe we're just a bunch of Utopians. *Somebody* has to dream of a better way. Then again, we could just be a little dissatisfied and looking for a better way. >I personally feel that C has met its design goals quite admirably. Agreed. But I question the appropriateness of those goals compared to how C is used today and will be used in the future. >Dennis Ritchie has stated these goals more clearly than I ever will be >able to, and if you haven't read his discussion of these goals, how can >you comment intelligently about whether these goals were met? As I said above, it's not how well C met its goals, but how the C Philosophy can be merged with today's goals. >(Hell, how can you program in C if you don't know its design goals?) How can you tell time if you don't know the design goals of the watchmaker? Well, first you look at the little hand... But seriously, folks, C is being used for things it was not designed to do well. Do we tell people who want to use C for general or scientific programming that they can't borrow the Look And Feel of C for a language more suited to their needs? >Language >technology has changed since C was invented, and any new language >design must reflect these changes, which are far more fundamental than >anything dredged up in this 'D' discussion. Look, I know a little about language technology. I know the phenomenal benefits of object-oriented methodologies, functional programming languages, [insert your favorite language buzz-phrase], but of all the languages and approaches I've studied, I like C the best. But it has its problems. >I feel quite irritated >that some people are advocating a new language that is 'just like C, >only better' -- not that we shouldn't learn from C's successes, but >that our imaginations should be so impoverished that we see only C and >nothing that has come since C. Like I said above, I've seen the alternatives, and find none as appealing as a better C. >If you really wanted to impress me, >you would cite psychological studies (like those of Don Norman) that >show how real people make mistakes and then show how your design acts >to limit these mistakes... First, I'm not out to impress you, or anybody else. I merely wanted to see what people would like in a language if they could have anything they wanted. Judging from the volume of discussion on this topic, I'm not alone in thinking that major improvements are possible. Secondly, I don't need to cite psychological studies to know what kinds of things give people trouble in C. I use the language myself and run into these problems all the time. I also read this list, of which 90% [just an approximation, Donn] is related to problems people have while using C. [The other 10% is X3J11 flamage :-] > >Of course, these 'D' proponents have been working from ANSI > >C's example, > This is totally unjustified. ... >Am I slandering the 'D' proponents here, or the ANSI C committee? :-) That depends on your point of view. > >PPS -- Naturally, this brings up the issue of what should go > >into the language 'F'... > Sure, which brings up the question of G... ... >Another person who missed the joke... Now I know how Mr. Limoncelli >felt. I'm sorry, I thought there was a well established convention that identifies sarcasm with a smiley. Even though I figured you weren't serious, I wasn't sure. I also figured that if I wasn't sure, there might be others who would take you seriously, so I replied. Now if you had just observed the convention... ========= The opinions expressed above are mine. "To a teacher of languages there comes a time when the world is but a place of many words and man appears a mere talking animal not much more wonderful than a parrot." -- Joseph Conrad