Xref: utzoo comp.object:3601 comp.lang.c++:13682 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!uunet!odi!dlw From: dlw@odi.com (Dan Weinreb) Newsgroups: comp.object,comp.lang.c++ Subject: Re: C++ and waitresses (summary, long) Message-ID: <1991May27.042830.674@odi.com> Date: 27 May 91 04:28:30 GMT References: <2326@media03.UUCP> Reply-To: dlw@odi.com Organization: Object Design, Inc. Lines: 25 In-Reply-To: pkr@media03.UUCP's message of 24 May 91 14:44:02 GMT Sometimes there are two ways of doing something, and there are tradeoffs between them. Is this uniquely American? I haven't done any work overseas; perhaps I'm just provincial. In your country, are all sorts always done with quicksort, never with insertion sorts or heapsorts? Are all computer programs written in one language? Do all (or none) programmers always use languages with (or without) lots of runtime checks? It had never occurred to me before that there was something American about the concept of choosing between engineering alternatives based on tradeoffs. I do agree that it is best when you can change your mind about which choice to make, late in the game, with minimal alteration of your program. There are certainly areas in C++ where the language could be better in this regard; but to have designed it to be better in this regard might have meant compromising on one of the other goals of C++. It's easy for you to complain about things you don't like; it's harder to come up with an alternative proposal that meets the same criteria that the design of C++ set out to meet. By the way, it's easy for you to say the "Lisp just has lists and atoms". The baby Lisp that your learned about in school probably really does just have lists and atoms. Real Lisp dialects that are used for serious work have quite a few data types, including arrays and objects and several kinds of numbers and so on. And this is true of the European proposed standards, not just the American ones.