comp.lang.ada
 help / color / mirror / Atom feed
  • [parent not found: <824056183.18993@assen.demon.co.uk>]
  • * Re: Ada is almost useless in embedded systems
           [not found] <823906039.22113@assen.demon.co.uk>
           [not found] ` <4fgrq3$mc4@qualcomm.com>
           [not found] ` <824056183.18993@assen.demon.co.uk>
    @ 1996-02-19  0:00 ` R.A.L Williams
      1996-02-21  0:00   ` Richard A. O'Keefe
      1996-02-19  0:00 ` AdaWorks
                       ` (5 subsequent siblings)
      8 siblings, 1 reply; 74+ messages in thread
    From: R.A.L Williams @ 1996-02-19  0:00 UTC (permalink / raw)
    
    
    In article <4g3ljv$mmc@news.pacifier.com> steved@199.2.117.161  (Steve Doiel) writes:
    
    > From: steved@199.2.117.161  (Steve Doiel)
    > In ... (Daniel Grambihler) writes:
    > 
    > [snip]
    > 
    > >
    > >I don't recall a claim the it was *impossible* to interface to hardware. Just
    > >that it is badly designed for that job. I agree. Interfacing to hardware with
    > >Ada is a pain.
    > >
    Yes that has been my experience too. At least compared with doing the same
    job in C. I have to admit, however, that I haven't tried it for quite a
    few years and perhaps compiler quality has improved.
    
    [snip]
    
    > 
    > Well Daniel if portability is an issue, I think you need to scrap using
    > 'C' bit fields to map to hardware registers or test your particular compiler
    > for what it generates and settle for non-portable.
    >
     
    [snip]
    
    I think one of the problems we are all having with this discussion is the 
    context in which various statements are being made:
    
    - programming in the large vs. programming in the small
    - portability vs. fixed target environment
    
    to mention but two sources of contention. Let's take an example I was 
    peripherally involved in recently. We had to produce a small interface unit
    that did a certain amount of data processing (all done in dedicated hardware
    because of the desired rates) and, in addition, logged time-stamped
    information onto a 'legacy' tape unit. Unfortunately the time-stamped
    information also came from 'legacy' equipment, but a different legacy. I 
    won't go into details but hardware designers can come up with thouroughly
    unpleasant specifications when they want to! Portability didn't come into
    the matter because this was a one-off system for a particular research
    application. We knew the platform, in fact we designed it (the CPU board
    at least), we knew the host and the job was so small that we couldn't
    justify the expense of any compiler we didn't already have. Programming 
    'in the large' was not an issue because, again, the whole job was so
    small. To be honest, the engineer in charge of the development didn't
    even consider using Ada but, if he had, I would have advised strongly
    against it because, leaving aside the issues of large projects and
    portability of representation, Ada (83 at least) is IMO far harder to
    use than C.
    
    Large system developments certainly get all the headlines and certainly 
    represent a larger 'concentrated' risk if they go wrong, but at what
    level, I wonder, is the bulk of man-power in the industry expended? In the
    UK more people are employed in 'small businesses' than in multi-nationals.
    I wonder if, by analogy, the same is also true of software development. If
    this is the case, then maybe us 'little people' should have a voice too :-)
    
    Bill Williams
    
    
    -- 
    Bill Williams                     |GEC-Marconi does not necessarily
    GEC-Marconi Research Centre       |endorse my opinions!
    
    bill.williams@gecm.com
    Tel: +44 1245 242016
    Fax: +44 1245 478639
    
    
    
    
    
    ^ permalink raw reply	[flat|nested] 74+ messages in thread
  • * Re: Ada is almost useless in embedded systems
           [not found] <823906039.22113@assen.demon.co.uk>
                       ` (2 preceding siblings ...)
      1996-02-19  0:00 ` R.A.L Williams
    @ 1996-02-19  0:00 ` AdaWorks
      1996-02-21  0:00   ` Ken Garlington
      1996-02-19  0:00 ` Jon S Anthony
                       ` (4 subsequent siblings)
      8 siblings, 1 reply; 74+ messages in thread
    From: AdaWorks @ 1996-02-19  0:00 UTC (permalink / raw)
    
    
    John McCabe (john@assen.demon.co.uk) wrote:
    : I believe that Ada is badly designed with respect to interfacing to
    : hardware and because of this should not be recommended for use in
    : embedded systems.
    
      There have been truly abominable embedded systems project deployed
      written in Ada.  One could say the same of C, assembler and Forth.
    
      There are truly excellent embedded systems deployed written in Ada.
      This is also true of C, assembler, and Forth.
    
      The question, "Can Ada be used for the construction of well-performing
      embedded systems," is no longer a valid question. There are enough 
      operational systems in place to answer, "Yes."  
    
      We have no need to prove, through argument, whether Ada is appropriate
      for embedded systems software.  The Ada track-record speaks for itself.
      You have the burden of proof.  Since so many embedded systems are doing
      so well programmed in Ada, how do you prove it is not suited to such
      systems?
    
      The fact that some Ada software applications are horrible is not a function
      of the language, but a function of poor design, poor software practice,
      and often, in my experience, poor configuration management.
    
      Whatever reasons you may have are not relevant given Ada's record of 
      success.
    
      Do you recall the scientific proof that the Bumblebee could not fly because
      of its aerodymanic properties and wing-span?  
    
                          "Sweeny shifts from ham to ham,
                            Stirring the water in his bath."
    
      I do not recal the next two lines of Mr. Eliot's poem, but they 
      have to do with the folly of such proofs.                           
    
      Richard Riehle
    -- 
    
    richard@adaworks.com
    AdaWorks Software Engineering
    Suite 27
    2555 Park Boulevard
    Palo Alto, CA 94306
    (415) 328-1815
    FAX  328-1112
    
    
    
    
    ^ permalink raw reply	[flat|nested] 74+ messages in thread
  • * Re: Ada is almost useless in embedded systems
           [not found] <823906039.22113@assen.demon.co.uk>
                       ` (3 preceding siblings ...)
      1996-02-19  0:00 ` AdaWorks
    @ 1996-02-19  0:00 ` Jon S Anthony
      1996-02-26  0:00 ` R.A.L Williams
                       ` (3 subsequent siblings)
      8 siblings, 0 replies; 74+ messages in thread
    From: Jon S Anthony @ 1996-02-19  0:00 UTC (permalink / raw)
    
    
    In article <824495640.102@assen.demon.co.uk> john@assen.demon.co.uk (John McCabe) writes:
    
    > >In passing, it may be of interest to note that the original VAX Ada
    > >did not implement shared, and opted instead to implement a pragma
    > >volatile.  Volatile basically did the "optimization" bit that you are
    > >concerned about, but explicitly did _not_ provide for indivisible
    > >operations.
    > 
    > That's interesting and sound like what Ada95 does (according to Robert
    > Dewar's comment elsewhere).
    
    Not quite.  Ada95 _splits_ these two things between pragma volatile and
    pragma atomic.
    
    /Jon
    -- 
    Jon Anthony
    Organon Motives, Inc.
    1 Williston Road, Suite 4
    Belmont, MA 02178
    
    617.484.3383
    jsa@organon.com
    
    
    
    
    
    ^ permalink raw reply	[flat|nested] 74+ messages in thread
  • * Re: Ada is almost useless in embedded systems
           [not found] <823906039.22113@assen.demon.co.uk>
                       ` (4 preceding siblings ...)
      1996-02-19  0:00 ` Jon S Anthony
    @ 1996-02-26  0:00 ` R.A.L Williams
           [not found]   ` <4h3q56$1vk@goanna.cs.rmit.EDU.AU>
           [not found] ` <emery-0902962215150001@line316.nwm.mindlink.net>
                       ` (2 subsequent siblings)
      8 siblings, 1 reply; 74+ messages in thread
    From: R.A.L Williams @ 1996-02-26  0:00 UTC (permalink / raw)
    
    
    In article <4gea0h$ckd@goanna.cs.rmit.EDU.AU> ok@goanna.cs.rmit.EDU.AU (Richard A. O'Keefe) writes:
    
    > ralw@valiant.gmrc.gecm.com (R.A.L Williams) writes:
    > >To be honest, the engineer in charge of the development didn't
    > >even consider using Ada but, if he had, I would have advised strongly
    > >against it because, leaving aside the issues of large projects and
    > >portability of representation, Ada (83 at least) is IMO far harder to
    > >use than C.
    > 
    > This statement, coming from someone with such a background, deserves
    > a fuller exposition.  I hope R. A. L. Williams will provide one.
    
    The specification for some of the data formats had things like:
    - values split across several bit fields, ie.
       a bit of A
       a bit of B
       some more of A
       the rest of B
    - bit reversed values
    - fixed point numbers with 'weird' resolutions.
    
    OK, so Ada (83 and 95) can handle all these things. 95 far easier than
    83 I suspect (modulo types are a tremendous improvement for example).
    My attitude to this sort of thing is that you find the right tool for 
    the job. I strongly suspect, based on my experience with Ada 83 at
    least and having seen the solution in C, that any solution is bound to
    be pretty much unreadable because of the nature of the problem. That
    said C seems to be the better tool for this particular type of low
    level manipulation because it is, basically, a high level assembler
    and, as such, has syntax and semantics which maps very directly to the
    architecture of the 'typical' CPU. Ada implements a higher level
    abstraction which, although useful for writing 'high level'
    applications, makes it comparatively clumsy for this sort of low level
    code. Essentially what I am saying is that, where this sort of low
    level manipulation is required using Ada will tend to obscure the
    solution because of its high level abstraction where C, which is
    inherently low level, expresses it succinctly.
    
    Of course, the decision must look at the whole problem. In the system
    discussed above there was very little else. We do a lot of this sort
    of thing - interfaces between existing pieces of kit which are too
    complex to implement entirely in hardware - and, franly, C is still
    the ideal language. If there had been significant other processing or
    control to do we might have looked at Ada or C++ or a mixed language
    solution. As it was, these other choices were sub-optimal.
    > 
    > My personal experience, having used C since 1979, and Ada only for the last
    > couple of years, is precisely the opposite.  I consider myself expert in C;
    > perhaps that's why I thought it was hard to use.  I may say that it seems
    > to be easier to _teach_ Ada than to teach C; you can get a heck of a long
    > way without worrying about pointers, and it is so refreshing to be able to
    > answer questions of the form "how do I do X" with "well, it's really a topic
    > for later, but here's how you do it in Ada" instead of "well, there's no
    > language support for that in C in order to keep the compiler simple back in
    > the 70's."
    > 
    That's an interesting point. Ada certainly makes it easy to avoid the 
    normal C beginners mistakes. Also, of course, we don't normally let
    beginners loose on implementing devious embedded systems so the places
    where the issue we're discussing is relevant don't arise.
    
    > (I hope this crashes before the written-in-C operating system crashes again...)
    > 
    On our network it's the P(ersonal) C(atastrophes) that cause all the
    problems. What do Microsoft use?
    > -- 
    > Election time; but how to get Labour _out_ without letting Liberal _in_?
    > Richard A. O'Keefe; http://www.cs.rmit.edu.au/~ok; RMIT Comp.Sci.
    
    Bill Williams
    -- 
    Bill Williams                     |GEC-Marconi does not necessarily
    GEC-Marconi Research Centre       |endorse my opinions!
    
    bill.williams@gecm.com
    Tel: +44 1245 242016
    Fax: +44 1245 478639
    
    
    
    
    
    ^ permalink raw reply	[flat|nested] 74+ messages in thread
  • [parent not found: <emery-0902962215150001@line316.nwm.mindlink.net>]
  • [parent not found: <RALW.96Feb28100925@vulcan.gmrc.gecm.com>]
  • * Re: Ada is almost useless in embedded systems
           [not found] <823906039.22113@assen.demon.co.uk>
                       ` (7 preceding siblings ...)
           [not found] ` <RALW.96Feb28100925@vulcan.gmrc.gecm.com>
    @ 1996-03-16  0:00 ` Kevin Dalley
      8 siblings, 0 replies; 74+ messages in thread
    From: Kevin Dalley @ 1996-03-16  0:00 UTC (permalink / raw)
    
    
    >>>>> "Laurent" == Laurent Guerby <Laurent.Guerby@enst-bretagne.fr> writes:
    
    > Scott H. James writes
    
    > : (5) Verbosity: Ada has all of C's unary and binary operators, but Ada
    > :     requires C's assignment operators to be spelled out. This is an
    > :     aesthetic issue, and possibly a readability issue.
    
    > Readability  for what ???  I always thought that a+=b  was  a hint for
    > poor optimizers. But that's a matter of taste ;-)
    
    I once thought that.  Currently, I find that it is more clear for
    programmers, and less prone to error then spelling out the same same
    variable twice.  This is particularly true if the variable name is
    long, for example an element of an array or of a structure:
    
    	fred->array[x+i] += 5;
    
    is much easier for a human to understand than:
    
    	fred->array[x+i] = fred->array[x+i] + 5;
    
    and easier to distinguish from:
    
    	fred->array[x+i] = fred->array[x+i-1] + 5;
    
    kevin
    
    -- 
    kevin
    kevin@aimnet.com
    
    
    
    
    ^ permalink raw reply	[flat|nested] 74+ messages in thread

  • end of thread, other threads:[~1996-04-01  0:00 UTC | newest]
    
    Thread overview: 74+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <823906039.22113@assen.demon.co.uk>
         [not found] ` <4fgrq3$mc4@qualcomm.com>
         [not found]   ` <dewar.823962356@schonberg>
    1996-02-17  0:00     ` Ada is almost useless in embedded systems Tore Joergensen
    1996-02-17  0:00       ` Robert Dewar
    1996-02-19  0:00       ` Keith Thompson
    1996-02-19  0:00         ` John McCabe
    1996-02-21  0:00           ` Richard A. O'Keefe
    1996-02-21  0:00             ` Norman H. Cohen
         [not found] ` <824056183.18993@assen.demon.co.uk>
         [not found]   ` <311E924E.74CE@escmail.orl.mmc.com>
    1996-02-17  0:00     ` Ada is great for embedded systems (was Ada is almost useless in embedded systems) Ken & Virginia Garlington
         [not found]   ` <4fnqpm$3nh@news.sanders.lockheed.com>
    1996-02-19  0:00     ` Ada is almost useless in embedded systems AdaWorks
    1996-02-21  0:00       ` Ken Garlington
    1996-02-21  0:00       ` Hugh Dunne
         [not found]   ` <4fnp37$nj1@theopolis.orl.mmc.com>
    1996-02-22  0:00     ` Alan Brain
    1996-02-19  0:00 ` R.A.L Williams
    1996-02-21  0:00   ` Richard A. O'Keefe
    1996-02-19  0:00 ` AdaWorks
    1996-02-21  0:00   ` Ken Garlington
    1996-02-23  0:00     ` AdaWorks
    1996-02-19  0:00 ` Jon S Anthony
    1996-02-26  0:00 ` R.A.L Williams
         [not found]   ` <4h3q56$1vk@goanna.cs.rmit.EDU.AU>
         [not found]     ` <dewar.825635955@schonberg>
         [not found]       ` <826571250.140@assen.demon.co.uk>
         [not found]         ` <dewar.826634800@schonberg>
    1996-03-21  0:00           ` John McCabe
    1996-03-23  0:00             ` Side-effect arithmetic again [was: Ada ... in embedded systems] John G. Volan
    1996-03-23  0:00               ` Robert Dewar
    1996-03-25  0:00                 ` Tucker Taft
    1996-03-25  0:00                   ` Norman H. Cohen
    1996-03-25  0:00                   ` Robert A Duff
    1996-03-26  0:00               ` John G. Volan
    1996-03-26  0:00                 ` Robert Dewar
    1996-03-29  0:00                   ` Robert I. Eachus
    1996-03-26  0:00                 ` Robert A Duff
    1996-03-26  0:00                   ` Tore Joergensen
    1996-03-27  0:00                     ` John G. Volan
    1996-03-28  0:00                       ` Tucker Taft
    1996-03-28  0:00                         ` Robert Dewar
    1996-03-29  0:00                           ` Tucker Taft
    1996-03-29  0:00                             ` Tucker Taft
    1996-03-27  0:00                     ` John G. Volan
    1996-03-29  0:00                       ` Robert A Duff
    1996-03-30  0:00                         ` John G. Volan
    1996-03-31  0:00                           ` AdaWorks
    1996-04-01  0:00                           ` Robert A Duff
    1996-03-30  0:00                         ` John G. Volan
    1996-03-27  0:00                     ` John G. Volan
         [not found] ` <emery-0902962215150001@line316.nwm.mindlink.net>
         [not found]   ` <DMoA85.52I@eskimo.com>
         [not found]   ` <823965654.4500@assen.demon.co.uk>
         [not found]     ` <824165619.14894@assen.demon.co.uk>
         [not found]       ` <JSA.96Feb13133713@organon.com>
         [not found]         ` <824259217.26321@assen.demon.co.uk>
    1996-02-17  0:00           ` Ada is almost useless in embedded systems Robert Dewar
    1996-02-18  0:00             ` John McCabe
    1996-02-18  0:00               ` Robert Dewar
    1996-02-19  0:00                 ` John McCabe
    1996-02-20  0:00                   ` Robert Dewar
    1996-02-21  0:00                   ` Fergus Henderson
         [not found]         ` <824332550.2485@assen.demon.co.uk>
    1996-02-17  0:00           ` Ken & Virginia Garlington
    1996-02-17  0:00             ` Robert Dewar
    1996-02-18  0:00               ` John McCabe
    1996-02-18  0:00                 ` Robert Dewar
    1996-02-19  0:00                   ` John McCabe
         [not found]       ` <4fs7ml$cf1@rational.rational.com>
    1996-02-26  0:00         ` Ada 83 " Alan Brain
         [not found] ` <RALW.96Feb28100925@vulcan.gmrc.gecm.com>
    1996-03-15  0:00   ` Ada is almost useless " Robert I. Eachus
    1996-03-18  0:00     ` Alan Brain
         [not found]       ` <4ik5bm$ogg@dayuc.dayton.saic.com>
    1996-03-18  0:00         ` Side-effect arithmetic again [was: Ada ... in embedded systems] Robert Dewar
    1996-03-19  0:00           ` Jay Martin
    1996-03-21  0:00             ` Robert I. Eachus
    1996-03-19  0:00           ` Norman H. Cohen
         [not found]     ` <dirk.827148504@demokrit>
    1996-03-18  0:00       ` Ada is almost useless in embedded systems David Weller
         [not found]   ` <dewar.825775334@schonberg>
         [not found]     ` <RALW.96Mar8113005@vulcan.gecm.com>
         [not found]       ` <4hv2fb$6ra@cville-srv.wam.umd.edu>
         [not found]         ` <4xybp895y6.fsf@leibniz.enst-bretagne.fr>
         [not found]           ` <3144CC40.33A0@escmail.orl.mmc.com>
         [not found]             ` <dewar.826604375@schonberg>
         [not found]               ` <3145FF2C.6139@escmail.orl.mmc.com>
         [not found]                 ` <dewar.826829407@schonberg>
         [not found]                   ` <31499D21.1DA6@escmail.orl.mmc.com>
    1996-03-15  0:00                     ` Bug or Limitation? (was: Ada is almost useless in embedded systems) Robert Dewar
    1996-03-16  0:00                       ` Ted Dennison
    1996-03-20  0:00                         ` Side-effect arithmetic again [was: Ada ... in embedded systems] Robert I. Eachus
    1996-03-20  0:00                           ` John G. Volan
    1996-03-22  0:00                             ` Alan Brain
    1996-03-20  0:00                           ` Robert A Duff
    1996-03-21  0:00                             ` Peter Hermann
    1996-03-21  0:00                               ` Robert Dewar
    1996-03-25  0:00                                 ` Robert I. Eachus
    1996-03-28  0:00                               ` Mats Weber
    1996-03-29  0:00                                 ` John G. Volan
    1996-03-21  0:00                           ` Geert Bosch
    1996-03-26  0:00                           ` Mats Weber
    1996-03-16  0:00 ` Ada is almost useless in embedded systems Kevin Dalley
    

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