[comp.lang.ada] Death of C

CAROZZONI@TOPS20.RADC.AF.MIL (11/15/89)

>........................................................In particular, the 
>ordinary systems which most people will be seeing in front of them for the 
>next 5 - 15 years, UNIX systems and PCs, will not run Ada acceptably. 

	And the technical reason is ? 
 
>C began with real machines, real programmers.  The idea seems to have 
>been:   
>  
>      "Lets take a hard look at this little PDP-7 and design a language 
>      which is one-to-one with its logical operations as many ways as 
>      possible (the plus-plus operator and register increments and so on) 
>      so that the code is as FAST as can be contrived, maximally easy to 
>      implement (so that next year when we get our PDP7.5 or whatever, 
>      we're back rolling in 2 weeks), and, within these constraints, is 
>      as amenable to human logic as possible in a no-nonsense, point-and- 
>      shoot kind of way, so that we end up with a kind of high-structured, 
>      low-level language; a thinking-man's assembler.  And then, let's 
>      write an operating system (UNIX) in that language so that, when we 
>      get our PDP-7.5, or the next year's computer, whatever it may be, 
>      we're REALLY back rolling two weeks later. 
 
	Your right, C was designed specifically for the PDP 7 instruction set, 
	but my employer has long stopped using them. The PDP 7 H/W has been 
	traded in for a VAX, just as C has been traded in for Ada. The biggest 
	bottleneck right now is the S/W, not the H/W. 
 
	You must also consider that when C was created, writing of the S/W 
	was the largest consumer of resources. Now maintenance is the 
	largest consumer. Having spent the last 5 years concentrating 
	on C and Ada, I can appreciate this more than ever.

 
>The maximal ease of implementation was achieved by making the core 
>language as small as possible, other functionality being left to the 
>operating system and to libraries, some standard amongst UNIX systems and 
>others peculiar to various other OSs and hardware bases for which C would 
>be implemented.  This allowed good and inexpensive C compilers to evolve 
>rapidly for PCs and other micros and, since the authors of those compilers 
>maintained the standard libraries as close as possible to the UNIX 
>implementations, C became the natural bridge between mid-sized and large 
>computers running UNIX and the micros.   
 
 
	Standardization among C compilers can best be shown by the Billions 
	and Billions of "ifndef"'s and "ifdef"'s in any C program such as 
	the Emacs Editor source code. 
 
 
>In fact, C++ appears to BE the very language which Ada was supposed to be 
>(the spirit of the law) but never can and never will be.   
 
	Ada was supposed to BE a standard, C and C++ weren't (by design). 
 
>.............. of state-of-the-art principles of "software-engineering", 
>whatever that's supposed to mean, seemingly by assembling 300 committee 
>members in a room, having each draw up a maximum possible wish-list of 
>features for a programming language and/or operating system, and then 
>adding up all of the lists to a "standard", with any considerations of 
>real-world computers being regarded as unimportant.  
 
 
	And what do you have to say about the ANSI C steering COMMITTEE? 
	Should all but one be shot and let him/her decide on C's future? 
 
 
>Ada is what you might expect from a programming language designed by 
>committee;  
 
	Again, who is guiding C right now?  Certainly not K & R.
 
 
>it is unbelievably slow, an unbelievable resource hog, 
 
	Sun Microsystems tech reps have told me that they expect Ada can 
	produce as efficient (if not more efficient) code when Ada 
	compilers reach the level of maturity as C has. Lets get realistic. 
	The efficiency of C compilers now are more of a testimonial to 
	capitalism competitiveness rather than to the language itself. 
 
>.....PC and lots of memory to play with, Ada compilers at least will get 
>back to you on the same DAY; ................................... 
 
 
	I use Ada on a PC/AT (as do others here) and also use MS C 5.1!  
	We can't agree with you on this. Try reading the Ada compiler 
	installation manual. 
 
 
>......After All". Remember, Ada has been around since 1979.  If that were 
>the best anybody could say about C after ten years, C compiler salesmen would 
>be starving and dying like flies. 
 
	Your facts are consistently confused. The availability of validated Ada 
	compilers covering a reasonable selection of machines have only 
	been around for 4-5 years. 
  
>.......dollars for.  A far better Pascal compiler is produced by Borland and 
>can be had at B Dalton's for around $100.  Needless to say, the Rupe- 
 
	Careful, you loosing it. Borland doesn't produce their Pascal 
	compiler. They buy it. And the people they buy it from are presently 
	working on a TurboAda. Stay tuned for some read benchmarks comparing 
	C vs Ada. You will find that it is determined more by vendor compiler
	technology than by the language. 
 
 
>......  There is the August 21 89 issue of Government Computer News 
>describing the problems which the huge FAA Advanced Automation System is 
>having due to IBM Ada implementations and tools (or lack thereof).   
 
	So who is at fault here, Ada or IBM? The present mind thought 
	is "when in doubt blame Ada".
	My bank teller = "The computer made the mistake, no me!" 
 
 
>.................... "Ada and UNIX doesn't work".  I've heard that a 
>million times from users, first time that succinctly in print.  Between 
>UNIX and Ada, UNIX is the real-world standard.................. 
 
	The UNIX standard? (BDS, System 5, Xenix, OSF, UI, Mach etc)? 
 
 
>First, the programming style being promulgated by DOD for Ada is anti- 
>conducive to the stated goal of readability;  it's like looking at a 
>thousand-page novel such as "War and Peace" with three or four lines of 
>programming code interspersed every second page or so.  The verbiage hides 
>the logic.  When every variable name looks like: 
>  
>      "NUMBER_OF_CROWS_SALLY_ANNS_GRANDMOTHER_SHOT_WITH_HER_12_ 
>      GAUGE_-LAST_TUESDAY", 
>  
 
	Now were does it say this style is only for Ada? (It is recommended
	for all languages). Even those crazy AI programmers and their
	LISP use long identifiers.
 
 
>Second, DOD is often insisting on portability via Ada rather than 
>portability via UNIX, POSIX calls etc.  This amounts to such things as 
>insisting, for instance, that vendors provide direct Ada hooks to a 
>database rather than simply writing an Ada -> C -> database hook.  Typical 
>vendor response is either "F... You" or "Manana". 
 
	Your confused again. Ada is pushed for language, UNIX/POSIX for O.S. 
 
>A third is an over-emphasis on design, which often leads to grief in the 
>real-world.......................................... 
 
	I wouldn't respond to this with a 10-foot keyboard cable. 
 
 
>A military project involving Sun machines and Ada was abandoned after 
>something like 4 years and $30 million effort because of unacceptable 
>performance;  database screens were taking over a minute to come up.  The 
>design work had all been done according to your formula, the individual 
>modules had been designed, written, and tested, all according to the 
>standard military schedules and formulas (2167 etc.).  Everything seemed 
>hunky dory, only when they put the fricking thing together, it was too 
>damned slow to use.  And, the remarkable thing is, the very system the 
>military insists upon for management of software contracts prevented 
>anybody from knowing they were in trouble until four years and millions 
>had been blown.  The government people involved were essentially reduced 
>to the role of actors in a Greek tragedy. 
 
	Sounds like a $1 million effort we just completed on a Sun 4 with 
	C++. May be some military experts will analyze it and blame it
	on C++. I hope not. It is more a matter of trying to tow a
	3000 lb travel trailer with a 2000 Escort.
  
 
>      Ada threatens to leave DoD stranded and technologically backwards; 
>out of the mainstream of American computer science.............. 
 
	A recent article indicated that Ada and Ada like (Pascal, Modula 2)
	languages are the primary choice for Software Engineering Curriculums. 
	May be you should enroll in one. 
 
>  
>Ted Holden 
>HTE 
> 
 
 
	BTW - Your views are so biased toward C and so steadfast 
	against Ada, that the validity of your letter is taken more as 
	a joke than informative reading. 
 
-------

ok@mudla.cs.mu.OZ.AU (Richard O'Keefe) (11/16/89)

In article <12542446812.15.CAROZZONI@TOPS20.RADC.AF.MIL>, CAROZZONI@TOPS20.RADC.AF.MIL writes:
> 	Your right, C was designed specifically for the PDP 7 instruction set, 

This is not true.  C is
	BCPL
	- with a few syntax changes, e.g. $( ... $) ==> { ... }
	- with "update" operators (which were quite fashionable at one
	  time, Algol 68 has them -- remember "prus"?)
	- plus Pascal-ish types
There wouldn't have been a whole lot of point in matching the immediate
predecessor of C (called, oddly enough, B) to the instruction set of the
machine it ran on, because it wasn't compiled to that instruction set.

> 	Standardization among C compilers can best be shown by the Billions 
> 	and Billions of "ifndef"'s and "ifdef"'s in any C program such as 
> 	the Emacs Editor source code. 

Heck, you should see the contortions that are needed for Fortran, except
that it hasn't got a standard way of doing it.

I've used "the more I program in C, the better I like Ada" as a .signature,
but let's get our facts straight.

bagpiper@pnet02.gryphon.com (Michael Hunter) (11/17/89)

wow...I may understand what you are trying to say but you as much anti-c (at
least in this letter) as Holden is pro-c....maybe a little objectiveness is
needed.
>	Standardization among C compilers can best be shown by the Billions 
>	and Billions of "ifndef"'s and "ifdef"'s in any C program such as 
>	the Emacs Editor source code. 
Just as you are sceaming that Ada is a (relatively) young language,
standardized c is really younger.  If the political smog ever clears ANSI
X3J11 c should be the standard.  A good sign that most of the market is
supporting that is many vendors supporting some or all of the standard before
it is passed.
>>In fact, C++ appears to BE the very language which Ada was supposed to be 
>>(the spirit of the law) but never can and never will be.   
> 
>	Ada was supposed to BE a standard, C and C++ weren't (by design). 
well...to be a snotty asshole, Ada isn't a standard, Mil-STD-1815 is a
standard.  I doubt that Kernighan, Ritchie, or Stroustroup designed C or C++
to not be standardized.  In fact, I would point out that B. Stroustroup
appears to have learned from K & R in the specification of C++ has happeneded
in a more formalized way and that a ANSI effort to standardize it appears to
have been started earlier in its life cycle.  On the other hand, Ada was
designed to be very standarized.  This has some GREAT aspectes.  Unfortunately
flexibility is not one of them.
>>Ada is what you might expect from a programming language designed by 
>>committee;  
> 
>	Again, who is guiding C right now?  Certainly not K & R.
guiding is not designing.....
> 
> 
>>it is unbelievably slow, an unbelievable resource hog, 
> 
>	Sun Microsystems tech reps have told me that they expect Ada can 
>	produce as efficient (if not more efficient) code when Ada 
>	compilers reach the level of maturity as C has. Lets get realistic. 
>	The efficiency of C compilers now are more of a testimonial to 
>	capitalism competitiveness rather than to the language itself. 
yea, once I turn on the pragma to turn off type checking and am very careful
of what types I use.  For some reason I stopped believing tech reps that any
company let me talk to.....The guys in the back room always seem to have
better information? :)  Way back in the beginning the FORTRAN guys said they
could produce code that was bettern the had optimized asm also...ha!
> 
>>.....PC and lots of memory to play with, Ada compilers at least will get 
>>back to you on the same DAY; ................................... 
> 
> 
>	I use Ada on a PC/AT (as do others here) and also use MS C 5.1!  
>	We can't agree with you on this. Try reading the Ada compiler 
>	installation manual. 
not sure what this means, except that judging one Ada compile against one c
compiler seems like an insanely small sample space...
>>......After All". Remember, Ada has been around since 1979.  If that were 
>>the best anybody could say about C after ten years, C compiler salesmen would 
>>be starving and dying like flies. 
> 
>	Your facts are consistently confused. The availability of validated Ada 
>	compilers covering a reasonable selection of machines have only 
>	been around for 4-5 years. 
if I was a judge in a debate I'd laugh at you for this argument....
If it took that long for compilers to show up on the market there must not
have been much market demand?  What are the reasons for this?  Could it be
that Ada compilers are appearing because the military is now enforcing its use
more then it did in '79?  Look closely...you arguement works both ways..
>  
>>.......dollars for.  A far better Pascal compiler is produced by Borland and 
>>can be had at B Dalton's for around $100.  Needless to say, the Rupe- 
> 
>	Careful, you loosing it. Borland doesn't produce their Pascal 
>	compiler. They buy it. And the people they buy it from are presently 
>	working on a TurboAda. Stay tuned for some read benchmarks comparing 
>	C vs Ada. You will find that it is determined more by vendor compiler
>	technology than by the language. 
I could be wrong about this, but I believe that Borland originally bought
their Pascal compiler, but that subsequent development was done by Borland.  I
don't think it was completely a repackage and sale.  It would be cool to see a
TurboAda out on the market built by whoever....but we shouldn't have to wait
from TurboAda to show up to do this.  Hey, net people choose the bench marks. 
A bunch of people from comp.lang.ada write those benchmarks in Ada and get
numbers on their PC's....I (and probably others) will code the same algorithms
in c and we can compare!?
>>A third is an over-emphasis on design, which often leads to grief in the 
>>real-world.......................................... 
> 
>	I wouldn't respond to this with a 10-foot keyboard cable. 
wow...I agree...gotta hate that design phase ya' know ???????????? 
>>      Ada threatens to leave DoD stranded and technologically backwards; 
>>out of the mainstream of American computer science.............. 
> 
>>Ted Holden 
>>HTE 
>	BTW - Your views are so biased toward C and so steadfast 
>	against Ada, that the validity of your letter is taken more as 
>	a joke than informative reading. 
Yea...but you are a little anti-c.  Both Ada and c have very good points.  I
just love the data hiding and data abstraction features of Ada...I really have
to fight c to get some of the same results and C++ is still a little hard to
do real good data abstraction with (generics are only a hack).  On the other
hand the simplicity with witch I can map c to the hardware is great.  I can
see what code is going to be generated for a certain machine...with Ada I just
normally don't have a clue (partially caused by not knowing Ada as long as c).
This would be far more useful conversation if discussion was more candid and
open.  What is good about C++ that is not so good with Ada and vice-versa. 
Somebody that knows C++ very well describe a feature in C++ that is missing in
Ada and lets discuss it.  Maybe the Ada software eng. methodolgy would never
create a piece of code that need that feature....  I don't know...lets just
lose some of the obnoxiosness....

                                                later,
                                                        Michael

Mike Hunter - Box's and CPU's from HELL: iapx80[012]86, PR1ME 50 Series, 1750a
UUCP: {ames!elroy, <routing site>}!gryphon!pnet02!bagpiper
INET: bagpiper@pnet02.gryphon.com

davis@community-chest.uucp (Dave Davis) (11/22/89)

References: <12542446812.15.CAROZZONI@TOPS20.RADC.AF.MIL>
Sender: 
Reply-To: davis@community-chest.UUCP (Dave Davis)
Followup-To: 
Distribution: 
Organization: MITRE-McLean Software Engineering Laboratory
Keywords: religeous wars

In article <12542446812.15.CAROZZONI@TOPS20.RADC.AF.MIL> CAROZZONI@TOPS20.RADC.AF.MIL writes:
> 
>>First, the programming style being promulgated by DOD for Ada is anti- 
>>conducive to the stated goal of readability;  it's like looking at a 
>>thousand-page novel such as "War and Peace" with three or four lines of 
>>programming code interspersed every second page or so.  The verbiage hides 
>>the logic.  When every variable name looks like: 
>>  
>>      "NUMBER_OF_CROWS_SALLY_ANNS_GRANDMOTHER_SHOT_WITH_HER_12_ 
>>      GAUGE_-LAST_TUESDAY", 
>>  
> 
>	Now were does it say this style is only for Ada? (It is recommended
>	for all languages). Even those crazy AI programmers and their
>	LISP use long identifiers.
> 
Aw, does the poor programmers liddul fingers hurt when he does all
that nasty typing that his boss insists on?  Here, let mommy kiss 'em
better.

I thought the only real excuse for obscure short names in software
source was the 6-column limit in Fortran 66 on label names.

> 
>>Second, DOD is often insisting on portability via Ada rather than 
>>portability via UNIX, POSIX calls etc.  

DOD is pushing for standardization, COTS, methods, languages,
reuse, databases, etc.  Everyone is real tired of busting their pick
while 100 people hack out a new system.

> 
>>A third is an over-emphasis on design, which often leads to grief in the 
>>real-world.......................................... 
> 
>	I wouldn't respond to this with a 10-foot keyboard cable. 

After all, its much more fun to code than it is to plan, think, try to
achieve consensus on what's to be done...our customers expect us to
take our work as seriously as they take their money.
> 
> 
>>A military project involving Sun machines and Ada was abandoned after 
>>something like 4 years and $30 million effort because of unacceptable 
>>performance;  database screens were taking over a minute to come up.

That's why one builds a prototype first, even in the days before computers...

>>hunky dory, only when they put the fricking thing together, it was too 
>>damned slow to use.  And, the remarkable thing is, the very system the 
>>military insists upon for management of software contracts prevented 
>>anybody from knowing they were in trouble until four years and millions 
>>had been blown.  The government people involved were essentially reduced 
>>to the role of actors in a Greek tragedy. 

Having been a part of some Greek successes and tragedies, the 2167
life-cycle doesn't prevent contractors from using their brains.  Part
of system design is budgeting MIPs and memory.  Also, someone has to
track whether the effort is on track with these budgets as the
software is constructed.  One can find out if the system is too big
for the hardware long before the last line of code is written.  And is
this issue a language issue?

> 
>>      Ada threatens to leave DoD stranded and technologically backwards; 
>>out of the mainstream of American computer science.............. 
> 

If loyalty to a mere language is what is required to be in the
mainstream, then we aren't making progress, whether its C, Ada, or
whatever.  I hope that Ada represents a trend away from the 60s
paradigm of programming so that the hardware runs real fast, all the
data is swimming in the soup of main memory, design is a coffee-break
discussion, and no one can understand one's code when a change is
needed.


======================================================================

Dave Davis		ddavis@mitre.org
MITRE Corp.
McLean, VA