Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!ames!ucbcad!ucbvax!BRL.ARPA!gwyn From: gwyn@BRL.ARPA.UUCP Newsgroups: comp.sys.apple Subject: Re: Reply to steven@ucbvax.berkeley Message-ID: <8705211711.aa05300@VGR.BRL.ARPA> Date: Thu, 21-May-87 17:11:51 EDT Article-I.D.: VGR.8705211711.aa05300 Posted: Thu May 21 17:11:51 1987 Date-Received: Sat, 23-May-87 08:20:22 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 43 How can anyone take your evaluation of relative merits of programming languages seriously when you have made so many factual errors in your posting? Programming and data entry are two different activities. C was never designed to be used in a punched-card environment. C pointers are a key feature of the language, which after all was originally designed primarily for systems programming on "bare metal". The C run-time support for hosted environments developed later, as C was discovered to be both high-level and low-level enough for a wide range of uses. Don Knuth certainly did not produce the TeX-based facilities "all by himself". In particular, LaTex was primarily produced by Leslie Lamport. The TeX language is just as horrible as troff's (which has provided comparable facilities for many years), only different, and TeX has never been free of bugs (which should surprise nobody except those who think that a suitable language is all that's needed to have perfect code). Knuth also did not use Standard Pascal; he relied heavily on the availability of "other" in case statements. Porting TeX is not simply a matter of taking the "portable" source and compiling it. He didn't use pointers because Pascal pointers are painful and untyped; this has no bearing on whether C pointers are useful or not. How could anyone criticize scanf()'s handling of newline, which is under the C programmer's control in the first place and which can be totally bypassed in favor of other input facilities tailored to the application in the second place, as opposed to Pascal's READLN? (Scanf() has some problems, but that's not one of them.) How could anyone think "dest := src" is intuitive while "strcpy(dest,src)" is counter-intuitive? Certainly the C language has its blemishes, but to pretend that other languages such as Modula-2 don't and to criticize C for not being just like some other language is merely to reveal one's personal background, not any absolute "reason". C can be used well; Pascal can be used well; Ada can be used well; even BASIC can be used well. Of these, I find C the most universally useful for a wide range of applications. (Modula-2 might be a contender if I could count on existence of compilers for it everywhere.) But I consider other languages for a project, and I sometimes develop a language tailored to the application's needs. (If portability is even remotely a consideration, I make damn sure I can quickly implement the language everywhere. Software economics involves far more than simply selecting a programming language.)