From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,1042f393323e22da X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,1042f393323e22da X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,1042f393323e22da X-Google-Attributes: gid1014db,public From: kaz@vision.crest.nt.com (Kaz Kylheku) Subject: Re: Any research putting c above ada? Date: 1997/05/01 Message-ID: <5kakqj$in3@bcrkh13.bnr.ca>#1/1 X-Deja-AN: 238701189 References: <335F9D0E.41C67EA6@cacd.rockwell.com> Organization: Prism Systems Inc. Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.ada Date: 1997-05-01T00:00:00+00:00 List-Id: In article , Jon S Anthony wrote: >In article ark@research.att.com (Andrew Koenig) writes: > >> In article jsa@alexandria (Jon S Anthony) writes: >> >> > Well, you rather miss the mark on this particular comment as at least >> > two of the requirements in question ("readability, safety,") are not >> > exactly specific to DoD. Or do you think Bell Labs (or ATT) doesn't >> > really care about either issue? Actually, for all I know, maybe they >> > don't and your comment is in fact spot on. >> >> OK ... suppose you're in the DoD and you're in charge of setting > > > >What in the world has this got to do with whether or not the two >stated requirements ("readability" and "safety") are (or were) >important to ATT/Bell Labs? The point was that __Bell Labs__ stated >that C could not meet these (and the other) requirements. > >> be drawn from the nonqualification of any existing language. > >Shrug. Maybe, maybe not. The original poster merely pointed out that >Bell Labs were the ones who actively requested that C not even be >considered as they (or at least whoever was tasked with the job of >saying) felt that it could not possibly meet the requirements. And they were right. If you consider the rather sad state of C in 1977. At that time it was only three years old. There was no standard to speak of which would define the language and libraries. Just think: the language didn't even have a way to typecheck calls against definitions; prototypes were introduced in C++ and migrated back into C. Error prone explicit casts had to be used in function calls, for example: foo(x) long x; { /* whatever */ } bar() { int x; foo((long) x); } Without the cast, the function call is incorrect. Some early C compilers also didn't put structure member names into separate name spaces. Thus if you did: struct foo { int bar; } A; struct baz { int xyzzy; } B; you could actually do ``A.xyzzy'' without a hitch. Modern C is standardized, and offers better type checking. The addition of function prototypes alone makes it a whole lot safer.