TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Forum View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Reply To:
Date:
Mon, 12 Jul 2004 22:20:09 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (98 lines)
I can speak for the cost and benefit of "C" and "C++" compilers vs Ada
compilers.
I have worked on projects that use Ada, and ones that use C & C++.

On those projects, we used C/C++ compilers from Sun and from Microsoft.
We found bugs in the compilers and run-times in both cases.
In the case of sun:
   Typically it took a month to get our problem "bundled up" to a form where
   it was reproducible, and send to sun support.
   The errors we reported were acknowledged.
   It usually took about 3 months to get a dot-release or 'patch' for the
compiler
   or runtime.
   One I particularly remember had to do with the dispatching of sun's
dynamic linker
   when a thread requested a dynamic link.
   It took us almost 8 months to get a fix.  But we got a fix eventually.
   Then we had to convince our customer to put that particular version of
that particular
   fix on their systems.  [Both earlier and later ones did not work. Also,
the one
   that worked for our C++ problem broke lots of other C++ programs doing
threading]
In the case of Microsoft:
   Of all the C and C++ bugs I have reported to Microsoft since 1989 (about
a dozen),
   I have *never* gotten a fix that worked.  In most cases, they never sent
anything
  [I was not a paying-for-support customer, and got ignored.]
  In the cases where I was working for a company that was paying for
support, we usually
  got a "fix" in several  months.  However, the fix we got never fixed the
problem.
  An example problem was an error in concurrency in the C++ library that
meant that
  multiple threads all making calls on DB interface routines to SQL-Server
did, when
  heavy load was placed on the system, wind up passing the arguments given
in one
  thread to a DB routine acting for a different thread.


I have not had an concurrency problem with any Ada compiler from Any
manufacturer
since the ones in the 1983-85 time-frame, when Ada and Ada compilers were
new.

By-the-way:
   Ada's solid types, and items such as discrimated records (since 1983)
give me the
ability to control the data in my programs to a degree to even envisionable
with C/C++/C#.
Most of my data problems are gone by the time I get a clean compile in Ada.
In C and C++, I'm still finding data correctness issues in the programs
after they've
bee in the custoemer's shop 3+ years!

Just one person's experience with concurrency and programming languages and
the compilers and run-time support.

...Paul Stachour
[log in to unmask]
952-884-5977

P.S. The first Java program I wrote got wrong answers because the Java
dynamic linker
didn't get the right subroutine to call.  While I have no recent experience
personally, a
friend who uses Java regularly and religiously says it is not hard to trick
the dynamic
linker into getting the wrong routine if you know how to go about it. And
that it can
happen accidentally.

----- Original Message -----
From: "Stephen Leake" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Monday, July 12, 2004 7:52 AM
Subject: Re: Advocacy Needed


> Toshitaka Kumano <[log in to unmask]> writes:
>

> How good is the support for the C++ compiler? I don't know; I've never
> paid for it.
>
> On a reasonably sized project, the cost of ACT support for Gnu Ada is
> small. Hmm. Perhaps that just serves to define my notion of
> "reasonable" :).
>
> > Zipper cannot be optional :-)
>
> Well, I have buttons on my shirt :).
>
> --
> -- Stephe

ATOM RSS1 RSS2