From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.5 required=3.0 tests=BAYES_05 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: Fri, 18 Jun 93 8:19:07 MDT From: Colin James 0621 Subject: Re: Software vendors not using Ada but C Message-ID: <9306180819.aa14968@dsc.blm.gov> List-Id: Ted Holden writes that "Programs written in geneic C port, from just about anything to just about anything else". This argument is mistaken as anyone knows who has worked on a larger C project of greater than 10,000 lines of code. Consider the generic C statement: c=a+++b; . This ambiguous statement can mean four things which are all equally admissible as ANSI C: 1. a = a + 1 ; c = a + b ; 2. b = b + 1 ; c = a + b ; 3. c = a + b ; a = a + 1 ; 4. c = a + b ; b = b + 1 ; Note that Appendix F of the the ANSI C standard suggests that in cases where language syntax is ambiguous, the use of spaces can alleviate confusion. But who ever heard of an ANSI language which relies on spaces to que the compiler. Also, Mr Holden's argument fails with floating point math for this reason. Two ANSI C compilers on the same hardware platform can produce different numerical results because the math stuff in C is done at runtime and it is not required to be implemented according to any standards. This is why banks and financial institutions have been burned when herded to C. If C is portable as Mr Holden suggests, then why is it that C ports from one platform to another take so long. For example when Oracle ported from the DEC VAX to the IBM PC it took longer than six hours, six days, six, weeks, and six months. Another example is Windows NT Beta which supposedly has four million lines of code and is by most accounts still at a pre- release alpha level which the eager public is willing to pay for to debug.