comp.lang.ada
 help / color / mirror / Atom feed
From: jls@netcom.COM (Jim Showalter)
Subject: Re: Multitude of Problems
Date: 25 May 91 07:11:30 GMT	[thread overview]
Message-ID: <1991May25.071130.14424@netcom.COM> (raw)
In-Reply-To: 1991May25.024120.8263@grebyn.com

I said I'd ignore him, but when a lob is coming your direction...

>You're wrong on all counts and worse.  The option lapses in June.  Ada is
>supposed to be the last and only programming language in DOD.  This
>means by definition, as the law states, that after this June, ALL DOD
>programming must be done in Ada, period.

Unless you can provide a technical and business case to the contrary.
If you cannot do so, why should you be allowed to use anything but Ada?

>The Borland C++
>interface to assembler is the best thought out example of such an
>interface I've seen yet, and I can't picture making such a thing a
>language feature.

So you prefer instead to have an application written in Borland C++
be incompatible with one written in Zortech C++, and both incompatible
with one written in GNU C++? Good thinking.

>The minimalist aspects of
>C/C++ are precisely what make them the answer to today's problems.
 
I direct you to comp.object for an ongoing series of complaints by
C++ practioners about C++'s NON-minimalism.

>The following is from Hoare's famous article:
> 
>    "You include only those features which you know to be needed for
>    EVERY single application of the language and which you know to be
>    appropriate for EVERY single hardware configuration on which the
>    language is to be implemented.  Then, extensions can be specially
>    designed where necessary for particular hardware devices and for
>    particular applications.  That is the great strength of Pascal, that
>    there are so few unnecessary features, and almost no need for
>    subsets.  That is why the language is strong enough to support
>    specialized extensions - Concurrent Pascal for real-time work,
>    Pascal Plus for discrete event simulation, UCSD Pascal for
>    microcomputer applications.  If only we could learn the right
>    lessons from our successes of the past, we would not need to learn
>    from our failures."

Ted, you didn't tell me you were a Pascal programmer! There's hope for
you yet--next you'll be telling me you understand the value of strong
typing.

By the way, considering that inheritance is not used in every C++
program, I guess it should be taken OUT of C++, to conform
to the criteria in the Hoare quote above, right?

I guess basically I just diagree with Hoare. He seems to be favoring
non-portability and non-uniformity of language definition: he wants
dialects ("extensions") for various purposes instead of a single
powerful and highly flexible standardized language that spans all
applications. Funny, it was thinking like this that caused the DoD
to wind up with 4,200 different languages being used on the projects
it was funding and that led to the invention of Ada in the first place.

>The whole import of Hoare's speech was that the basic underlying design
>philosophy of Ada was entirely wrong, and that this would guarantee
>multitudes of major-league troubles, as the user comments adequately
>document. Life does not offer us technological cures for philosophical
>problems.

I would ask if Hoare has actually BUILT the sorts of systems Ada is
being used to successfully build. He seems to see only hazards and
dangers, and predicts catastrophes if Ada is used, and yet if you
go talk to people who have engineered multi-million line systems
they'll tell you that Ada added value to the project and made things
easier. There are even people who have completed massive projects
who will tell you that without Ada they'd have had a hell of a time
succeeding. Perhaps one should get their opinions about Ada from
someone who has experience engineering success with it, rather than
from a well-intentioned but possibly largely incorrect academic,
reputation notwithstanding.

>[ad hominem attack deleted]

>Think of it this way;  if I was a masochist like you are and wanted to
>link in the inline assembler libraries (as well as every other feature
>available in Borland C++) to every application I ever wrote, then all of
>my executables would be 600,000+ bytes just like yours are, they'd be
>slower than hell, just like yours are, they'd take me forever to
>develope, just like yours do...  in short, I'd be using Ada, no matter
>that the package said C++, wouldn't I?  If the law FORCED me to program
>like that, then I'd REALLY be hurting.

Uh, Ted? Actually, the code I write is compact and executes quickly.
This is because I use real industrial strength tools that perform link-time
dead code elimination, code pooling, global and local optimization,
selective loading, etc. Tools, Ted. Tools.

>>When were they doing this complaining?--if
>>it was more than 5 years ago it is almost certainly all moot by now:
> 
>No it isn't. The language is identically the same, guaranteed by law,
>and will remain so for some time.

Yes, but the tools have improved greatly. In my experience, 99% of the
complaints that are on the surface directed toward the language turn
out on closer inspection to be really about tools issues ("Takes too
long to compile.", "Executables are too big.", etc).

>Every software project gets done with finite quantities of time, money,
>talent, psychic energy etc.  Make a language or software development
>system but so slow, ponderous, clunky to use, and the software developed
>with that system is sooner or later going to suffer.

Agreed. But what does this have to do with Ada? Sounds like more tools
complaints. I ask you again--have you USED any real development tools
for Ada?

>What you WILL have will be an overly
>complex language, with multitudes of Joe Redneck computer programmer out
>there on every Army base in every little podong town in the USA all 
>trying to use it WITHOUT the benefit of all the pre-packaged stuff.  
>That's real safe, isn't it?

First you said Ada would kill soldiers, now you attack
the people writing the code. You know, some people might actually
conclude that you are not only ignorant, but genuinely UNPLEASANT
as well. I mean, you've even managed to insult people who live in
small towns--what did THEY have to do with any of this?

>Or such referees as there are do not share your opinions.  But you say
>you like refereed journals?  Almost all communist literature over the
>last 70 years or so has been refereed.  In the CCCP, they have an
>enforced paper recycling program;  you turn in old magazines, books,
>journals etc. at recycling points (punkti vtoroy syerii, I believe) for
>coupons to buy new with.  The people in fact buy wheelbarrows full of
>the refereed communist literature, which is dirt cheap, and wheel it
>straight to the recycling points unread, and get their coupons to buy
>real literature with.  The commy literature is then converted into more
>commy literature, toilet paper (essentially the same thing), and other
>useful goods.  The analogy between Ada and communism is a good one in
>fact;  Ada serves about as much useful purpose as communism, its
>journals are refereed by bigoted idiots as are those of communism, it is
>about as well loved by those forced to deal with it...

You'll note I didn't delete this one. It was too bizarre to pass up.
Now Ada is part of a communist threat to manufacture toilet paper
from refereed journals or something like that?!?!? Ted, you've truly
outdone yourself this time! Thank you for the heartiest laugh I've
had in months--I mean it, I mean I have actually got tears streaming
down my face.

P.S. Scientific American is refereed. So is the New England Journal of
     Medicine. So are MOST technical journals. The commies are everywhere!
     Run for it, Ted! RUN!!!!!!

>>He ignored
>>all evidence supporting Ada (including success stories such as STANFINS-R),
> 
>Amongst projects in the federal government generally, and especially in DOD,
>there are successes, failures, and then a third kind of animal:  abject
>failures which are simply declared to be successes and signed off on.
>Anybody who has seen it knows what I'm talking about;  I personally have
>seen a couple of things declared to be successes which, were they to
>take place in either private industry or local governments, would have
>resulted in lawsuits and/or prison sentences for fraud.  STANFINS-R, to
>the best of my knowledge, falls into category three, Ada being the chief
>culprit.

Well, you've insulted people in small towns, people who referee journals,
people who write code for the military, and now CSC (the primes on
STANFINS-R), who you seem to be accusing of fraud.

>Right.  Which Ada/C, Ada/Cobol, Ada/C/Cobol, Ada/Cobol/4GL combo are YOU
>using this time, Showalter?  The only thing beyond C++ which I would
>ever need would be the aforementioned link to assembler, rarely.  No Ada
>user could say that.   Again, those Ada/other combos are real portable,
>aren't they.

C++ supports SQL out-of-the-box? Must be in the newest rev (it is so
darned hard to keep up! ;-). Really, Ted--first you argue that Ada
is bad because it tries to do too much, then you claim that Ada interfacing
to other languages and applications (like a database) is bad because
it is non-portable. Which IS it? Is it too much to ask for you to maintain
logical consistency in your own arguments, or do I have to do that for you?

>Every serious organization I've ever heard of using Ada has had to
>entirely bypass Ada tasking and generics, and work around them.  The
>penalties in performance, reliability, flakey behavior etc. were
>intolerable.

You mean like IBM, Lockheed, Hughes, Northrop, Xerox, Alcatel, Philips,
MBB, Shell, GTE, GE, and CSC? These have all used generics
and tasking and have completed projects successfully using Ada. And
these are just the ones I've worked with PERSONALLY. Ted, the reason
I keep using the word "ignorant" is because you are ignorant. Fortunately,
ignorance is curable and, being ever the optomist, I've been giving you
the benefit of the doubt--my first impulse was to call you STUPID.

[ill-informed and hysterical quote from Hoare deleted]

>Bullshit.

Ted appears to want to increase the sophistication of his arguments.

>At present I am nearly finished with a program which will be used in
>language labs, which uses a Sound-Blaster card and VGA text-mode fonts,
>and a number of other things, and the whole program including debug code
>is around 50K bytes, small memory model.  This is Borland C++, 2.0.  The
>program is nearly 5K lines of code, with include files, and takes around
>15 seconds to compile.  That's why nobody in the real world wants Ada.

Ted, I hate to break it to you but when I was writing Ada at Rational
I cranked out about 5K a week of debugged documented code. And I'm SLOW.
5K is a pimple in the sort of projects I'm talking about: on a 1MSLOC
project that represents .5% of the total code size. A sneeze. And I think
this highlights what I've been trying to point out all along--you truly
ARE ignorant of the issues of large-scale software projects, and it shows.
It's almost like we're from two cultures: you just don't GET what it is
like to build humongous systems, and because of that you hammer Ada without
even grasping the fundamentals of the argument. It renders discussion with
you essentially pointless, but I persist in doing it because I hope OTHER
people who DO understand the problems of complex system development will
listen to me instead of you. I have just finished a four year stint helping
some of the largest companies in the world engineer some of the largest
and most complex software systems ever attempted. You've just written 5K
of PC code. I think we have a serious impedence mismatch here.

The difference between you and me is that I USED to write code for PCs,
so I understand your culture. You do NOT understand my culture, and yet
this doesn't prevent you from trumpeting your opinions. Personally, I
try not to express opinions about stuff I have no understanding of as
a matter of personal integrity.

>YOU calling ME a BIGOT!?!?!?!?!  You might add the word "CHUTZVAH" to
>your nifty vocabulary (spell it without the 'c', which is legit, and it
>goes just behind the I word, your favorite).

I can write fluently in C, and passably in C++. You do not write fluently
in Ada. Who's a bigot?

>He meant he didn't want to spend 20 minutes watching hello world
>compile, as I have done, and this on a Unisys 5000/95 with nothing else
>going on.

Tools, Ted. Tools.

>My article in the C++ journal mentioned a few of these successes, for
>instance the 1.25 M sloc AFATDS project which was declared a success because
>only 10% of the code (123,600 sloc) had major language-related software
>problems.

In alpha test. It currently has bug rates in the maintenance phase considerably
lower than in comparable systems written in other languages. I realize it might
inconvenience you to have to tell the whole truth when presenting your case,
but sins of omission do sort of undermine your credibility over time.

>>Chaining is not defined as part of the C ANSI standard, to the best of
>>my knowledge. Is it? If not, then any chaining that is done for C
>>programs is not an inherent part of C, is probably ALSO a proprietary
>>and non-portable vendor-specific directive, and is therefore no better
>>or worse than the equivalent support offered for Ada on PCs. Isn't it
>>fairly standard for PC compiler vendors to kludge in this capability
>>in some way? Turbo Pascal, for example, offers a chaining capability,
>>but that certainly isn't part of any Pascal standard I'm aware of.
> 
>The only problem is that Ada doesn't seem able to do it.

Neither can C or Pascal! Read the paragraph--the VENDOR'S TOOLS
do it. So if a PC Ada compiler vendor wants to, they can add this the
same way Borland and Zortech and the rest add it for other languages.

>Not only does Showalter claim to know more about computer science than
>American industry in general,

Indeed, I DO make that claim. That's why they pay me to help them do it.
Thanks for the plug!

>Bullshit.

Ted has learned a new word.

>[incredibly vitriolic attack on Ada and me deleted]

>[yet another personal attack deleted]
-- 
**************** JIM SHOWALTER, jls@netcom.com, (408) 243-0630 ****************
*Proven solutions to software problems. Consulting and training on all aspects*
*of software development. Management/process/methodology. Architecture/design/*
*reuse. Quality/productivity. Risk reduction. EFFECTIVE OO usage. Ada/C++.    *

  parent reply	other threads:[~1991-05-25  7:11 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1991-05-25  2:41 Multitude of Problems Ted Holden
1991-05-25  6:54 ` rharwood
1991-05-25  7:11 ` Jim Showalter [this message]
  -- strict thread matches above, loose matches on Subject: below --
1991-05-20  1:56 Ted Holden
1991-05-20  5:46 ` Richard A. O'Keefe
1991-05-20  8:45   ` Jim Showalter
1991-05-20  8:41 ` Jim Showalter
1991-05-20 22:17   ` Erik Naggum
1991-05-21  7:03     ` Jim Showalter
1991-05-21  2:45 ` Keith Bierman fpgroup
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox