From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <6d1c7c5cd789aff4b0539ab9eed3c168@plan9.bell-labs.com> To: 9fans@cse.psu.edu Subject: Re: [9fans] same functions everywhere From: "Russ Cox" In-Reply-To: <200305081711.h48HBv525515@augusta.math.psu.edu> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Date: Thu, 8 May 2003 13:24:07 -0400 Topicbox-Message-UUID: a4df2a32-eacb-11e9-9e20-41e7f4b1d025 > Sounds like a good candidate for writing in C++ or a similar language. > C isn't optimal for writing really big applications; it's great for > smaller things like utilities, text editors, systems software, etc. > But it's frankly inconvenient for building huge programs. It's just > too low-level. E.g., if I ever have to write another hashing function > to try and implement some sort of string-based lookup again, I'll > scream. All this and more can be said of C++. > I don't understand why everyone feels the need to try and shoehorn > their favorite language into every conceivable problem domain. Because when you start out writing a program in one language, once you get a lot of code written it's costly to switch to another. Or maybe you want to use some outside libraries available only in C. > C doesn't need a low-level string type, nor does it need exceptions; what > programmers who are looking for those things need to do is look for > another language. And what language is going to give it to them? C++? Ha. Ha ha ha. What happens when C++ is too low-level for the job at hand? It's not any more malleable than C is (though it is quite a bit more amorphous). I've been looking for another language for a few years now, and I don't see it. Would you have us not write programs because there's no good language to write them in? Claiming that the language designer will correctly anticipate the exact level of abstraction required for your huge program is ridiculous. The programmer has to be able to build up abstractions as necessary. And you can do this in C as well as you can in any of the other languages commonly used for systems programming. The only language that facilitates programmer-based extension outstandingly well is Lisp, but Lisp has other problems. Russ