From: pitre@n5160d.nrl.navy.mil (Richard Pitre)
Subject: Re: C/C++ knocks the crap out of Ada
Date: 1996/03/16
Date: 1996-03-16T00:00:00+00:00 [thread overview]
Message-ID: <4ifccc$e2c@ra.nrl.navy.mil> (raw)
In-Reply-To: DoDq5n.40@world.std.com
In article <DoDq5n.40@world.std.com> bobduff@world.std.com (Robert A Duff)
writes:
> In article <4icqe6$9v@ra.nrl.navy.mil>,
> Richard Pitre <pitre@n5160d.nrl.navy.mil> wrote:
>
> Your posting completely confuses me. I'm mystified as to how you can
> conclude some of these things from what I wrote. Sorry, I'll try once
> more to be clearer.
>
> >In article <DoBr15.D23@world.std.com> bobduff@world.std.com (Robert A Duff)
> >writes:
> >> In article <4ic8dk$amh@ra.nrl.navy.mil>,
> >> Richard Pitre <pitre@n5160d.nrl.navy.mil> wrote:
> >> >Do you have personal experience of this rough equivalence or is this
> >something
> >> >whose practical reality should be self evident?
> >>
> >> Yes, I have practical experience working on large C programs, and
> >> successfully keeping things consistent using an automatic build tool.
> >> (I hope I correctly understood what you're asking.) I've also written
> >> such a tool for C, Pascal, Modula-2, and Ada. The Ada support was
> >> harder then the other three put together.
> >
> >What did the tool that you wrote for Ada do, and what did the tool that you
> >wrote for C do? From the perspective that the standard compilers do
different
> >things automatically, what is it that you wrote?
>
> I'm not sure what you're getting at, but here goes: It was one tool,
> with support for multiple languages. It gathered information about
> inter-file dependencies from the source code, and recompiled what needed
> to be recompiled. For efficiency, information-gathering was
> incremental. It is true that there were differences between Ada
> compilers that needed to be handled specially -- e.g. different handling
> of pragma Inline and generic instantiations. That problem was worse for
> Pascal, since each Pascal compiler had it's own notion of separate
> compilation -- essentially, each Pascal compiler had to be considered a
> different language, with it's own language-specific module. For C, this
> wasn't a problem at all, as I recall. This was 5 or 10 years ago, so
> for Ada, I'm talking about Ada 83.
>
> >> I admit I have also worked on projects where people weren't so careful
> >> to use the tool, or used a NON-automatic build tool, like Unix 'make'
> >> and hand-written make files. And that does indeed cause trouble: once
> >> in a while, there's a missing dependency in the make file, and it
> >> causes a run-time bug. And there are *always* extra dependencies,
> >> which don't cause bugs, but needlessly increase compile time. (I've
> >> also seen cases where a company ships custom-modified software to a
> >> customer, and fails to remember or save the version that was sent!)
> >>
> >> Look, I'm not being anti-Ada. I wouldn't have spent 3.5 years of my
> >> life helping to design Ada 9X, if I thought C was just as good a tool.
> >> I have *not* experienced C programs that effectively used type
> >> checking, or run-time range checking, or information hiding, etc etc,
> >> to prevent bugs -- lint notwithstanding. ;-) I just think that this
> >> particular advantage of Ada over C that we're arguing about has been
> >> somewhat exaggerated. (I didn't deny that it's an advantage, either.)
> >
> >So, can I assume that you feel that your level of productivity and
> >confidence in your results was about equal when you using C as it was
> >when you used Ada?
>
> Umm, no, you should not assume that. I said ONE PARTICULAR advantage of
> Ada had been exaggerated. From that, how do you conclude that I think
> *ALL* advantages of Ada have been exaggerated? On the contrary, I think
> there are MANY advantages of Ada over C, for many types of applications,
> and I think they are important.
>
> >Regarding exageration of the significance of all the the extra cross
checking
> >etc,
>
> ARGHH. I did *NOT* say anything about "all the extra cross checking
> etc". I said something about one *particular* instance of cross
> checking.
>
> >... I don't think that the simple facts with clear implications needs any
> >exageration at all. It should be self evident. So again its not clear to me
> >what you are saying here.
>
> The feeling is mutual. :-)
>
> >... It sounds to me like you are saying that its no big
> >deal when you say "somewhat exagerated".
>
> Yes, but please understand that I was only talking about one particular
> issue, NOT about the Ada language as a whole vs. the C language as a
> whole. Somebody claimed that Ada is superior to C because (1) you have
> to use hand-written make files in C, and (2) hand-written make files are
> awful. I was simply trying to refute part (1) of that claim. That's
> all. (I happen to agree with part (2) of the claim.)
>
> >...The only thing that I see exagerated
> ^^^^
> >in this thread is people's confidence in their ability to check their code
as
> >consistently and perfectly as compiler would and/or promises to use
> >prosthetics religiously. It gives me the same type of comforting feeling
that I
> >get from watching ads urging people to wear prophylactics.
>
> I understand and agree with that. There are lots of folks going around
> denying that they themselves put bugs in their code, so where does all
> this buggy software I use every day come from !? But that's not the
> *only* thing I see in this thread. I also see some bogus claims about
> how Ada will walk on water and raise the dead.
>
> >> Somebody (I've lost track of whether it was you or someone else) made
> >> the claim that C programming inherently involves using hand-written
> >> make files. That's simply not true, and saying it won't convince
> >> anyone that they should use Ada. At best, you can convince them to
> >> quit using hand-written make files, and use a more automated tool
> >> instead.
> >>
> >> - Bob
> >
> >I like C and C++. They are good tools. If what you say is true then there is
> >some hope that with the right reliable portable prosthetics I don't need to
> >seriously consider something like Ada.
>
> No, I disagree. You *should* consider something like Ada. You cannot
> add a whole bunch of tools to C (like lint), and produce an environment
> that has equal protections to something like Ada. This is because C has
> no syntax for expressing certain kinds of constraints, which means that
> lint or any other tool is unable to know anything about those
> constraints -- they're written down as comments, if at all.
>
> IMHO, in general Ada doesn't go FAR ENOUGH in that direction. On the
> other hand, there are some cases in which Ada goes too far -- requiring
> the programmer to obey rules that merely get in the way, but don't
> actually help prevent bugs. Ada isn't perfect (surprise, surprise).
>
> >... I am obviously skeptical. This is a big deal to me and many other
> >programmers. Whether I stick with C/C++ or not, I don't care to see
> >professional programmers posturing and denying their limitations in
> >order to defend archaic tools at the cost of real solutions. How are we
> >ever going to get past square one if we let this kind of bullshitting
> >substitute for actual performance when it comes time to commit
> >resources. Here we sit with massive software projects falling in on
> >themselves and we want to defend things that suffer greviously and
> >explicitly from backward compatibility with tools that were a workable
> >compromise in 64k of memory and a 1MHz cpu.
>
> I'm not sure what you're getting at here, either. I don't think the
> problems of 'make' can be attributed to 64k of memory. Besides, isn't
> it OK to defend one aspect of some archaic tool, without being accused
> of posturing and all those other evil things you mention? I'm not even
> sure if you're accusing me or somebody else.
>
> - Bob
Have you personally made extensive use of Ada?
richard
next prev parent reply other threads:[~1996-03-16 0:00 UTC|newest]
Thread overview: 160+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <DoBFpD.Htx@world.std.com>
1996-03-15 0:00 ` C/C++ knocks the crap out of Ada Richard Pitre
1996-03-15 0:00 ` Robert A Duff
[not found] ` <4icqe6$9v@ra.nrl.navy.mil>
[not found] ` <DoDq5n.40@world.std.com>
1996-03-16 0:00 ` Richard Pitre [this message]
1996-03-16 0:00 ` Richard Pitre
1996-03-17 0:00 ` Alan Brain
[not found] <4jf3dg$8jm@ra.nrl.navy.mil>
1996-03-30 0:00 ` Jon S Anthony
[not found] <9603041841.AA18366@eight-ball>
[not found] ` <4hg318$nup@ra.nrl.navy.mil>
1996-03-23 0:00 ` Carl J R Johansson
1996-03-23 0:00 ` Robert Dewar
1996-03-29 0:00 ` Richard Pitre
[not found] <DoInIF.HtK@world.std.com>
1996-03-19 0:00 ` Richard Pitre
[not found] <00001a73+00002504@msn.com>
[not found] ` <313EDF38.61C1@lfwc.lockheed.com>
[not found] ` <4etcmm$lpd@nova.dimensional.com>
[not found] ` <4f4ptt$a1c@newsbf02.news.aol.com>
[not found] ` <4g1b7n$l5@mailhub.scitec.com.au>
1996-02-17 0:00 ` Robert Dewar
[not found] ` <4g577o$28r@newsbf02.news.aol.com>
1996-02-17 0:00 ` Ell
[not found] ` <3124B2F3.6D21@escmail.orl.mmc.com>
1996-02-19 0:00 ` Ramses Youhana
1996-02-19 0:00 ` Ted Dennison
1996-02-19 0:00 ` Adam Morris
1996-02-19 0:00 ` Ian S. Nelson
[not found] ` <JSA.96Feb16135027@organon.com>
[not found] ` <313D4D00.875@ix.netcom.com>
1996-02-19 0:00 ` Mike Stark
1996-02-20 0:00 ` Ed Franks
1996-02-21 0:00 ` Matthew M. Lih
1996-02-22 0:00 ` Ted Dennison
1996-02-25 0:00 ` Thomas G. McWilliams
1996-02-25 0:00 ` vancleef
1996-02-26 0:00 ` Matthew M. Lih
1996-02-25 0:00 ` Robert Dewar
1996-02-22 0:00 ` Bill Lee
1996-02-25 0:00 ` Ed Franks
[not found] ` <DnuGrG.JrE@news.thomson-lcr.fr>
[not found] ` <4hl082INNc7d@keats.ugrad.cs.ubc.ca>
1996-03-15 0:00 ` AdaWorks
1996-03-15 0:00 ` Kazimir Kylheku
1996-03-18 0:00 ` Matt Kennel
[not found] ` <4hf701INNdl7@keats.ugrad.cs.ubc.ca>
[not found] ` <4hm6lo$eln@fred.netinfo.com.au>
[not found] ` <4hml8s$a1q@solutions.solon.com>
1996-03-15 0:00 ` Robert A Duff
1996-03-15 0:00 ` Kazimir Kylheku
[not found] ` <adaworksDnrqsE.LpC@netcom.com>
[not found] ` <4hhred$1rn@sun152.spd.dsccc.com>
[not found] ` <4i19mg$vkt@azure.dstc.edu.au>
[not found] ` <4i4cf2$crm@sun152.spd.dsccc.com>
1996-03-15 0:00 ` AdaWorks
1996-03-18 0:00 ` Kevin Cline
1996-03-19 0:00 ` Kazimir Kylheku
1996-03-20 0:00 ` Kevin Cline
1996-03-20 0:00 ` Richard Pitre
1996-03-21 0:00 ` Kazimir Kylheku
1996-03-20 0:00 ` AdaWorks
1996-03-22 0:00 ` Kevin Cline
1996-03-22 0:00 ` AdaWorks
1996-03-22 0:00 ` David Weller
1996-03-26 0:00 ` Ed Falis
1996-03-28 0:00 ` Kevin Cline
1996-04-04 0:00 ` Jon S Anthony
1996-03-26 0:00 ` Jon S Anthony
1996-03-26 0:00 ` Robert Dewar
1996-03-21 0:00 ` Jon S Anthony
1996-03-22 0:00 ` Kevin Cline
1996-03-21 0:00 ` Jon S Anthony
1996-03-22 0:00 ` Kevin Cline
1996-03-30 0:00 ` Jon S Anthony
1996-04-01 0:00 ` Kevin Cline
1996-04-02 0:00 ` Lawrence Kirby
1996-04-02 0:00 ` Tom Payne
[not found] ` <BYERLY_J.96Feb7170158@srm9.motsat.sat.mot.com>
1996-02-19 0:00 ` Ramses Youhana
[not found] ` <1996Feb10.111307.113714@kuhub.cc.ukans.edu>
1996-02-21 0:00 ` AdaWorks
1996-02-20 0:00 ` Ken Garlington
1996-02-21 0:00 ` Robert S. White
1996-02-20 0:00 ` Jon S Anthony
1996-02-20 0:00 ` Ted Dennison
1996-02-22 0:00 ` Robert Dewar
1996-02-20 0:00 ` Jon S Anthony
1996-02-20 0:00 ` Robert Dewar
1996-02-22 0:00 ` Matt Kennel
1996-02-20 0:00 ` Jon S Anthony
1996-02-20 0:00 ` Ketil Z Malde
1996-02-21 0:00 ` Dirk Dickmanns
1996-02-21 0:00 ` David Weller
1996-02-21 0:00 `
1996-02-22 0:00 ` Gene Ouye
1996-02-21 0:00 ` Robert Dewar
1996-02-25 0:00 ` Andrew Koenig
1996-02-22 0:00 ` Gary McKee
1996-02-22 0:00 ` Bill Lee
1996-02-20 0:00 ` Lee Graba
1996-02-21 0:00 ` Mark A Biggar
1996-02-21 0:00 ` Ken Garlington
1996-02-21 0:00 ` Jon S Anthony
[not found] ` <4gaa <4gd94r$isu@mack.rt66.com>
1996-02-21 0:00 ` Nasser Abbasi
1996-02-21 0:00 ` David Weller
1996-02-22 0:00 ` Ketil Z Malde
1996-02-22 0:00 ` Jon S Anthony
[not found] ` <3114d8fb.5a455349@zesi.ruhr.de>
[not found] ` <4f5h5t$f13@vixen.cso.uiuc.edu>
[not found] ` <4g1bgf$l5@mailhub.scitec.com.au>
1996-02-17 0:00 ` Robert Dewar
1996-02-17 0:00 ` Tuishimi
[not found] ` <312515DF.7D3B@cmlj.demon.co.uk>
[not found] ` <4g3d70$nnn@queeg.apci.net>
1996-02-17 0:00 ` Chris Littlejohns
1996-02-18 0:00 ` ++ robin
1996-02-17 0:00 ` Robert Dewar
1996-02-19 0:00 ` Richard A. O'Keefe
1996-02-20 0:00 ` Robert Dewar
1996-02-22 0:00 ` Richard A. O'Keefe
1996-02-22 0:00 ` Ken Garlington
1996-02-22 0:00 ` Ted Dennison
1996-02-19 0:00 ` Pete Becker
1996-02-20 0:00 ` Nasser Abbasi
1996-02-20 0:00 ` Andrew Koenig
1996-02-21 0:00 ` Nasser Abbasi
1996-02-25 0:00 ` J Greene
1996-02-26 0:00 ` Peter Finney
1996-02-21 0:00 ` Jay Martin
[not found] ` <4 <dirk.824894312@demokrit>
1996-02-21 0:00 ` Nasser Abbasi
1996-02-26 0:00 ` Matthew B. Kennel
1996-02-27 0:00 ` Robert Dewar
1996-02-27 0:00 ` ron thompson
[not found] ` <4ggshe$7bk@go <4gh5r8$i2@mailhub.scitec.com.au>
1996-02-22 0:00 ` Nasser Abbasi
1996-02-22 0:00 ` Robert Dewar
1996-02-23 0:00 ` Richard A. O'Keefe
1996-02-22 0:00 ` Richard A. O'Keefe
1996-02-22 0:00 ` Ramses Youhana
1996-02-24 0:00 ` Ray Toal
1996-02-24 0:00 ` Robert Dewar
1996-02-24 0:00 ` JR Crosmer
1996-02-27 0:00 ` Richard A. O'Keefe
1996-02-26 0:00 ` James O'Connor
1996-02-23 0:00 ` Tom Payne
[not found] ` <4g2vn3$rgi@dfw.dfw.net>
1996-02-18 0:00 ` Robert Dewar
1996-02-19 0:00 ` AdaWorks
1996-02-23 0:00 ` Ghost In The Machine
1996-02-24 0:00 ` Robert Dewar
1996-02-25 0:00 ` Ghost In The Machine
1996-02-19 0:00 ` Ramses Youhana
1996-02-19 0:00 ` Ian S. Nelson
1996-02-21 0:00 ` Peter Seebach
1996-02-19 0:00 ` Richard A. O'Keefe
1996-02-21 0:00 ` Ramses Youhana
1996-02-21 0:00 ` Peter Seebach
1996-02-21 0:00 ` Peter Seebach
1996-02-20 0:00 ` Matt Austern
1996-02-20 0:00 ` Ketil Z Malde
1996-02-23 0:00 ` Matthias Blume
1996-02-25 0:00 ` Robert Dewar
1996-02-26 0:00 ` Matt Austern
1996-02-26 0:00 ` Matt Austern
1996-03-15 0:00 ` Kazimir Kylheku
1996-03-16 0:00 ` Jay Martin
1996-03-17 0:00 ` Kazimir Kylheku
1996-03-19 0:00 ` Sheldon White
1996-03-20 0:00 ` Jay Martin
[not found] ` <Pine.A32.3.91.960313165249.124278B-100000@red.weeg.uiowa.edu>
[not found] ` <4i9ld6$m2v@rational.rational.com>
[not found] ` <4iah20$p7k@saba.info.ucla.edu>
1996-03-15 0:00 ` Kazimir Kylheku
1996-03-15 0:00 ` Jay Martin
1996-03-15 0:00 ` Kazimir Kylheku
1996-03-15 0:00 ` Ian Johnston (by ubsswop)
1996-03-15 0:00 ` Peter Seebach
1996-03-16 0:00 ` Zsoter Andras
1996-03-19 0:00 ` Kazimir Kylheku
1996-03-21 0:00 ` Glenn H. Porter
1996-03-16 0:00 ` Jay Martin
1996-03-20 0:00 ` David Taylor
[not found] ` <31442F19.6C13@lfwc.lockheed.com>
[not found] ` <4i26uhINNsd@keats.ugrad.cs.ubc.ca>
[not found] ` <31457584.2475@lfwc.lockheed.com>
1996-03-21 0:00 ` Ron Collins
[not found] ` <4i4s5f$igc@solutions.solon.com>
[not found] ` <3146E324.5C1E@lfwc.lockheed.com>
[not found] ` <4i98gg$8n1@solutions.solon.com>
[not found] ` <Do9tMv.2p3@world.std.com>
[not found] ` <4ia41k$e04@solutions.solon.com>
1996-03-18 0:00 ` Norman H. Cohen
1996-03-19 0:00 ` Charles H. Sampson
1996-03-19 0:00 ` Peter Seebach
[not found] ` <Pine.A32.3.91.960313165249.124278B-100000@ <4ic92p$2fa@ubszh.fh.zh.ubs.com>
1996-03-29 0:00 ` mich
1996-02-19 0:00 Simon Johnston
[not found] <4fm9d8$mgs@azure.dstc.edu.au>
1996-02-17 0:00 ` Tuishimi
[not found] <4fnv2r$n84@stc06.ctd.ornl.gov>
1996-02-17 0:00 ` Tuishimi
[not found] <19960206T135716Z@arcana.naggum.no>
1996-02-17 0:00 ` Tuishimi
1996-02-17 0:00 ` Tuishimi
[not found] <DMnEAz.ADn@research.att.com>
1996-02-17 0:00 ` Tuishimi
1996-02-19 0:00 ` Norman H. Cohen
[not found] <JSA.96Feb7021245@organon.com>
1996-02-17 0:00 ` Tuishimi
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox