C: is it just another descendant of ALGOL?

bet at ecsvax.UUCP bet at ecsvax.UUCP
Tue Mar 13 00:00:21 AEST 1984


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



More information about the Comp.lang.c mailing list