Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!sdcsvax!ucbvax!BRL.ARPA!gwyn From: gwyn@BRL.ARPA (Doug Gwyn, VLD/VMB) Newsgroups: comp.sys.apple Subject: Re: Reply. Message-ID: <8705221726.aa07174@VGR.BRL.ARPA> Date: Fri, 22-May-87 17:26:58 EDT Article-I.D.: VGR.8705221726.aa07174 Posted: Fri May 22 17:26:58 1987 Date-Received: Sat, 23-May-87 19:01:16 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 37 C (typed) pointers are not a "dirty trick" but are fundamental for the programming applications that C was intended for. One most certainly can assign structures (not "records") in C, use them as parameters, etc. It is true that C arrays are second-class objects, and that if compatibility with mountains of existing code weren't an issue one should fix that. My comments about strcpy() were to counter the claim you made that the arguments were in a counter-intuitive order, not that function calls are necessarily superior to direct language support for a facility. (Although they might be; it depends.) There have been many "simple, clear" languages, including Algol 68, Lisp, TRAC, Bliss, and FP. Most of these have not been highly successful in the world of the programming practitioner, not because of technical problems but because of the many other things that determine the usability of a programming language. Even the most ardent defenders of language "elegance" botch their use of their preferred techniques; there were at least three genuine bugs in Dijkstra's "A Discipline of Programming" (wherein he was bragging how he didn't have to run the programs on a computer to know that they were bug-free). Recently in Bentley's "Programming Pearls" in CACM, Don Knuth presented what was supposed to be a textbook example of his "literate programming" using WEB, and Doug McIlroy had little trouble tearing it to shreds. Even the most inhospitable languages can be used with clarity and style, although certainly some make this easier than others. I have found it fairly easy to use C in a reliable manner, but then I spend more time practicing than complaining. If you need to learn how to do this, I would recommend Tom Plum's books. If C is so terrible, then how do you explain so many commercial software developers switching to it? Why aren't they using Turing, if it's really so much better than C? I think an honest investigation would show that C is "good enough" technically for most applications and has other significant advantages (such as widespread availability) that make it a better actual choice in most situations.