You had some good comments in your editorial about the state of design nowadays (June 18). I would like to point out, however, that technology has always "pushed down" the minimum level of competency for design work. For example, modern graphically based software development packages allow artists, accountants, teachers, etc. to write useful applications with relative ease, compared with several decades ago. Designing many products is much easier because of the availability of "canned" functions (digital TV on a chip, anyone?). I believe that one of the most significant statements is that the leading edge of any design wave will happen in North America and Europe. We (U.S. engineers) need to ensure that this will continue to be the case.
On the other hand, I did find myself disagreeing with your comment about kids nowadays being "boatloads" smarter than us geezers. They may have access to more information, and better tools with which to work, but I am constantly amazed at what we were able to do before computers, ICs and even transistors. We had some pretty smart people back then. I wonder what [they could have done] if they were time-traveled forward and grew up in our modern era.
Dave Telling, Electronics Engineer
Carson City, Nev.
Ada vs. Java vs. C/C++
In Richard Goering's article "Ada 2005 speaks to real-time embedded applications"
, Gary Cato makes some comments on Ada in comparison with Java, C
and C++ that echo many common but misinformed (or at least incompletely informed) impressions.
• "The use of Ada in embedded systems, in fact, has declined markedly in the past decade, though it's leveled off recently." It is hard to get accurate statistics on such usage. What can be said is that the Ada market is healthy and is growing steadily. This growth is not only from adaptation of existing legacy code, but also from completely new ones, such as the iFACTS next-generation air traffic control system in the U.K. Furthermore, millions of lines of Ada are operating in critical flight applications today, and Ada will be airborne on future aircraft such as the Boeing 787, A380 and C130-AMP. By comparison, at least as asserted recently at MTC 2007 in Boston by Kelvin Nilsen of Aonix, not one line of Java is flying at present in certified safety-critical avionics applications.
• "Ada has a larger memory footprint and slower performance than C/C++, unless one strips out a number of run-time features." This claim is misleading. For example, the ERB project study showed virtually identical code sizes between Ada and C/C++ over a realistic sample set.
• "Java conveys many of the same advantages as Ada." This is certainly true, but the most important word in that sentence is the qualifier "many." Ada has critical advantages over Java in areas including static strong typing, hierarchical package structure, clear separation of specification and implementation, reliable concurrency features and sophisticated real-time control. It is possible that some or even all of Java's deficiencies can be remedied or lessened, but the resulting language won't be Java as we know it. Ada is here now.
• "Universities today are training Java programmers, not Ada or even C programmers." This is a rather extreme exaggeration. Universities are indeed teaching C, and for that matter Ada, on a fairly wide scale. In any case, the issue is not what particular language is taught; competent programmers can easily acquire new languages, as AdaCore has seen many times with our industrial Ada training programs. What is seriously missing in universities is a basic introduction to the techniques needed to generate safety- and security-critical systems, surely a fundamentally important topic in our modern world.
Robert Dewar, President and CEO