Dr. Ada 95 by George Morrone I've been involved with data processing for quite a while now: m y first D P j o b at the P e n n s y l v a n i a D e p a r t m e n t o f Transportation was as a c o m p u t e r operator, m o u n t i n g tapes, disk drives, and operating card readers and printers. It's safe to say that a fair sized desk w oul d have fit on top o f our computer: an I B M 370/168 dual processor with 8 megabytes o f RAM. T he com put er on top o f m y desk also has 8 m eg ab y tes o f RAM, and is considerably faster. S o o n I got a j o b as a c o m p u t e r pr ogr am m er at L o c k h e e d Missiles and Space C o m p a n y (now Lockbee.d Martin) in Sunnyvale, Ca. W e p r o g r a m m e d in C O B O L . I won't bore you with the details about frantic 2 a.m. calls f r o m the operators, what turned out to be a space in a numeric field; suffice it to say that soon I learned what works and what doesn't; h o w to write programs defensively; that a readable p r o g r a m is better that a fast p r o g r a m that's wrong, and that sacrificing readability for speed results in a p r o g r a m that does the w r o n g thing quickly. Until I learned Ada, C O B O L was m y p r i m a r y language but through e v e n i n g school c o m p u t e r science courses and evaluating a language for suitability on a given project, I've acquired a wo r k in g k n o w l e d g e o f quite a few other languages: F O R T R A N , LISP, Prolog, Smalltalk, and last but not least, C, Objective C and C++. N o w I won't k n o c k C; it's a fine language and a lot o f w ork gets done using C. C++ was probabl y influenced by A d a (function prototypes, for example) and A da 95 was influenced by Ada. C can be used responsibly and safely; style guides heIp; and rules the A da com pi l er enforces automatically can be simulated in C through care and experience. In spite o f all that, I think Ada's better. I k n o w that f r o m m y personal experience. T he advertised benefits o f Ada are real. A da code is significantly easier to write, test, c or r ect and maintain. Fact: A d a hasn't sold as well as C.Fact: C does some things better than A d a (low level p r o g r a m m i n g , for e xamp le) Fact: C and C++ have m o r e v e n d o r support, m o r e compilers and better quality d e v e l o p m e n t environments. Sighing won't help; C will be around for a long time and the A da c o m m u n i t y has to adjust. I suggest, though, that we m a k e the best o f it. C++ has some interesting ideas, and a similar approach to objectoriented p r o g r a m m i n g . I'd like to hear f r o m A d a users w ho k n o w C and other languages, too. W h a t are the issues using A d a in a multi-language e n v i r o n m e n t ? W h a t can you do in C that is difficult in Ada? Specific examples and c o d e too, i f possible please. H o w do A d a devel opm ent environments compare to those for C? W o u l d it be difficult, for example, to add Objective C's message passing syntax to Ada95 via a preprocessor? T h o u g h C's not going away, neither is Ada. M a y b e in the long run A d a will play the tortoise to C's hare. ACM Ada Letters, Jan/Feb 1996 Page 7 0 Volume XVI, Number 1
/lp/association-for-computing-machinery/all-aboard-ada-95-iohVZZBjcD