Ada-C redux

Posted by stan on Oct 31, 2011 in Uncategorized |

In a recent post on the DeepChip website, Gary Smith states that Fortran and Ada are superior to C and its variants, but notes that “…unless there is a major revolt among Embedded Programmers we are stuck with C and SystemC”.  I was very surprised to read this (and surprised at Fortran’s cameo appearance), since I had thought that the Ada-C wars had long since ended. However, Gary’s rather strong statement would argue that the fires are still smoldering. 

Rather than stoking any remaining embers, I will forgo a direct Ada-C comparison, except to say that, having used both langauges in great depth (my first engineering job was at a defense contractor), I much preferred programming in C and C-derived languages.  That aside, I would also suggest that no one should hold his/her breath waiting for a “revolt among Embedded Programmers”.  The DoD mandate of Ada in 1987 gave such programmers a fool-proof way to embrace Ada—no revolt was required.  However, what happened was that the Defense Department was inundated from the beginning of the Ada mandate with request for exemptions, and eventually the mandate was essentially phased out.  Moreover,  programmers at companies in every geographical region have over the past three decades given the thumbs up to C and its derivatives, including SystemC.  Indeed, I think it reasonable to say that a sure-fire way to start a “major revolt among Embedded Programmers” (or at least the vast majority of them) would be to force them to use Ada.

We are, indeed, “stuck with” C and SystemC– a fact that will please many programmers.

2 Comments

  • I agree, there are few that long for the days of Ada I think. My first job was also at a defense contractor (TI) and your experience matches my own as far as the requests for exemptions.

    Ada had some neat concepts (e.g. templates), but the most useful such constructs were added to C++ before too long (although getting templates “right” has been a long struggle). On the other hand, the super-strong typing and syntax-intensive aspects of Ada were essentially rejected by the programming community (in large part probably because of the difficulty of keeping track of all those syntax and type conversion requirements while coding). The true remaining legacy of Ada, IMO, is the continuing argument between Verilog and VHDL programmers about which is superior, since VHDL tapped heavily from Ada typing and syntax (not surprising as it was a DOD standard).

    Interestingly enough, even C/C++’s relatively relaxed typing requirements are now considered too heavy for many tasks such as web programming where we’ve seen the rising of languages such as perl, php, python, ruby (lightly or dynamically typed languages). But I wouldn’t recommend these for embedded programming :-)

  • Gary Smith says:

    Stan, I’m well aware of the programmers love of C as C lets you do pretty much anything you wish. Which of course is the problem. Fortunately the EDA industry has been able to come up with enough verification tools that Verilog has become a fairy safe language. Not the case for C which is why most programs are late. As we move into parallel programing there is a chance that the difficulty in jury rigging C into a parallel language will become painful enough that programmers will move to a more parallel friendly language.

    Gary

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Copyright © 2010-2012 Stan on Standards All rights reserved.
Desk Mess Mirrored v1.6 theme from BuyNowShop.com.