Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!akgua!mcnc!ecsvax!bet From: bet@ecsvax.UUCP Newsgroups: net.lang.c Subject: C: is it just another descendant of ALGOL? Message-ID: <2151@ecsvax.UUCP> Date: Mon, 12-Mar-84 09:00:21 EST Article-I.D.: ecsvax.2151 Posted: Mon Mar 12 09:00:21 1984 Date-Received: Tue, 13-Mar-84 19:40:51 EST Lines: 27 A recent article chastised one of the "C freaks" on the net for expressing his elitist views -- I recall phrases along the lines of "C is not inherently superior to PASCAL or one of the other languages, and any decent compiler lets you turn off (slow) run-time error checking" or some such. Though it might be unwise to rise to such provocation, I must say I *do* think C is different in kind from other ALGOL-descended languages. C was created with a specific machine model in mind, and the intention that ON MACHINES CONFORMING TO THAT MODEL all language constructs would be extremely efficient to implement at the machine level. This makes it intrinsically fast, both in compilation and at run-time. The discussions in net.lang.c about problems in the definition of C seem largely to relate to machines that DON'T CONFORM TO THE MODEL! In particular, C is designed for a BYTE-ADDRESSED machine (re: NULL parameter to function problem) with a few registers, and special machine-language opcodes to make certain operations efficient -- operating with zero, pointer indirection, and so forth. This is not to say that ambiguities don't need to be cleaned up, just that these problems derive from pushing C beyond its designed environment. These aren't my personal ferbile imaginings, but are extracted from some document or another in the UNIX* Programmers Manual -- one of the short C discussions. If you need a more detailed reference, let me know and I will try to dig it out. Please *mail* flames to me, unless you are really certain you need to discuss your points in the public forum of the net. Bennett Todd ...{decvax,ihnp4,akgua}!mcnc!ecsvax!bet