comp.lang.ada
 help / color / mirror / Atom feed
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: <4ifhck$fol@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.

What is it that you were trying to do that the Ada compiler did not or does not  
already do?







  
> 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




  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
     [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                         ` David Weller
1996-03-22  0:00                         ` AdaWorks
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
1996-02-19  0:00       ` Adam Morris
1996-02-19  0:00         ` Ian S. Nelson
     [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
     [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                 ` Jay Martin
1996-02-21  0:00                 ` Nasser Abbasi
1996-02-25  0:00                   ` J Greene
1996-02-26  0:00                     ` Peter Finney
     [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
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
     [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-23  0:00             ` Tom Payne
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
     [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-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-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       ` 
1996-02-21  0:00       ` David Weller
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-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   ` Ken Garlington
1996-02-21  0:00     ` Robert S. White
1996-02-20  0:00   ` Jon S Anthony
1996-02-20  0:00     ` Robert Dewar
1996-02-22  0:00     ` Matt Kennel
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   ` Jon S Anthony
1996-02-22  0:00   ` Ketil Z Malde
1996-02-26  0:00   ` Matt Austern
1996-02-26  0:00   ` Matt Austern
     [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       ` Kazimir Kylheku
1996-03-15  0:00         ` Jay Martin
1996-03-15  0:00       ` Peter Seebach
1996-03-15  0:00       ` Ian Johnston (by ubsswop)
1996-03-16  0:00       ` Zsoter Andras
1996-03-19  0:00         ` Kazimir Kylheku
1996-03-21  0:00         ` Glenn H. Porter
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
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] <19960206T135716Z@arcana.naggum.no>
1996-02-17  0:00 ` Tuishimi
1996-02-17  0:00 ` Tuishimi
     [not found] <4fnv2r$n84@stc06.ctd.ornl.gov>
1996-02-17  0:00 ` Tuishimi
     [not found] <4fm9d8$mgs@azure.dstc.edu.au>
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