290 likes | 301 Views
Explore the intriguing history, mandate, and comparisons of the Ada programming language as shared by Martin C. Carlisle, an Associate Professor at the United States Air Force Academy, Department of Computer Science.
E N D
Confessions of an Academic Ada Zealot Martin C. Carlisle Associate Professor United States Air Force Academy Department of Computer Science Confessions of an Academic Ada Zealot Martin Carlisle
Disclaimer • Opinions contained herein are those of the author, and not necessarily those of the US Air Force Academy, US Air Force, or United States Government. Confessions of an Academic Ada Zealot Martin Carlisle
History (1980s) $7600.00 $640.00 $435.00 Confessions of an Academic Ada Zealot Martin Carlisle
Another 80s DoD acquisition • ANSI/MIL-STD-1815A-1983 (the Ada programming language) • Started in 1974. Requirements in 1978, standardized in 1983. Confessions of an Academic Ada Zealot Martin Carlisle
The Mandate • Required for all DoD critical systems (1983) • Required for use in DoD weapons systems (Deputy Sec. Of Defense, March 1987) • Required for all DoD software (June 1, 1991) Confessions of an Academic Ada Zealot Martin Carlisle
Ada in 80s • Compilers were expensive and slow • As an innovative language, hard to implement Confessions of an Academic Ada Zealot Martin Carlisle
Major Contracts • 1992: Air Force gives contract to NYU for GNAT. Ada Core Technologies established in 1994. • 1995: Academic Ada contract to Intermetrics Confessions of an Academic Ada Zealot Martin Carlisle
The Mandate’s Effect • In 1994, 33% of code written in Ada, 22% in C, 37% in “other approved languages” • “Many projects have ignored or manipulated the policy on waivers, employing languages other than Ada without the required waiver ” (NRC) Confessions of an Academic Ada Zealot Martin Carlisle
The Mandate Destroyed • Based on the NRC report, Ada no longer mandated (March 1997) • But where’s the $15 million/year? • AJPO closed Sept 1998 Confessions of an Academic Ada Zealot Martin Carlisle
Why we STILL teach Ada at USAFA • Clear syntax • Supports software engineering principles • Cheaper development costs • Time constraints for cadets are large! Confessions of an Academic Ada Zealot Martin Carlisle
Steelman Requirements • Ada 93% • Java 72% • C++ 68% • C 53% "Ada, C, C++, and Java vs. The Steelman" David Wheeler, Institute for Defense Analysis, 1997 Confessions of an Academic Ada Zealot Martin Carlisle
Comparing Costs (C) • Development costs of Ada were roughly half those of C, with C code having an order of magnitude greater errors. 75% of the programmers were experienced in C, while only 25% were experienced in Ada. Stephen Ziegler, Rational Corp. "Comparing Development Costs of C and Ada" Confessions of an Academic Ada Zealot Martin Carlisle
Comparing Costs (C++) • Ada error rate was approximately 50% of the norm. Cost of delivery of Ada was lower. Reifer Consultants "Quantifying the Debate: Ada vs. C++" Confessions of an Academic Ada Zealot Martin Carlisle
Comparing Costs (C++) • Analysis of info systems and C3 systems showed Ada had a 35% advantage in front-end development costs and a 70% advanatage in maintenance costs. "Ada and C++: A Business Case Analysis" USAF Report. (TRW) Confessions of an Academic Ada Zealot Martin Carlisle
Comparing Languages (FAA) • Evaluation included capability, efficiency, availability/reliability, maintainability/ extensibility, lifecycle cost, and risk. Ada 78.8 C++ 63.9 C 59.5 FORTRAN 47.0 Software Engineering Institute (for FAA) Confessions of an Academic Ada Zealot Martin Carlisle
Comparing Ada and Java • Concludes Java is more difficult to teach to intro programmers because of complex syntax for simple programs, lack of pointers, difficulties with types. http://www.act-europe.fr/texts/papers/ada-java-teaching-comp.pdf (Brosgol) Confessions of an Academic Ada Zealot Martin Carlisle
Eliminating Bugs • "My Hairiest Bug War Stories" CACM April 1997. Ada compilers unaided would have caught 88% of these bugs. John McCormick ("Ada Kills Hairy Bugs") Confessions of an Academic Ada Zealot Martin Carlisle
Languages in CS1 • Ada instructors believed their current language was best at a ratio of 3-4x over C and C++ instructors. http://academic.scranton.edu/faculty/beidler/ levy/ Confessions of an Academic Ada Zealot Martin Carlisle
Nobody uses Ada • Ada is used in lots of surprising places, including the NYC Subway and the Hertz navigation system. http://www.seas.gwu.edu/~mfeldman/ada-project-summary.html Confessions of an Academic Ada Zealot Martin Carlisle
Ada in Universities • Approximately 150 universities use Ada in 1st or 2nd computer science course • Number relatively constant over last couple of years • http://www.seas.gwu.edu/~mfeldman/ada-foundation.html Confessions of an Academic Ada Zealot Martin Carlisle
AP Board • Starts in Pascal (first offered 1984) • Moves to C++ in 1998-1999 (despite open opposition from ACM educators) • Moves to Java in 2003-2004 Confessions of an Academic Ada Zealot Martin Carlisle
What kinds of tools are we looking for? • Cheap • Simple • Powerful • Must compare favorably with Visual Studio, freely available Java tools Confessions of an Academic Ada Zealot Martin Carlisle
Tools to Support Ada in Education and Elsewhere • GNAT/AdaGIDE Confessions of an Academic Ada Zealot Martin Carlisle
Leveraging Technology with Ada • JGNAT Connect Four applet demo Confessions of an Academic Ada Zealot Martin Carlisle
Leveraging Technology with Ada • Gtk/GLADE/GVD • Primarily Linux based, but Windows version • XML based GUI builder • Multi-language debugging platform Confessions of an Academic Ada Zealot Martin Carlisle
Leveraging Technology with Ada • RAPID • Multi-platform GUI builder http://www.usafa.af.mil/dfcs/bios/carlisle.html Confessions of an Academic Ada Zealot Martin Carlisle
Leveraging Technology with Ada • CLAW • Windows GUI builder • Free demo, pay for full version RR software (www.rrsoftware.com) Confessions of an Academic Ada Zealot Martin Carlisle
Leveraging Technology with Ada • GWindows • Free OO Windows library • Currently no GUI builder www.adapower.com Confessions of an Academic Ada Zealot Martin Carlisle
Leveraging Technology with Ada • GNATCOM • MS reusable object technology http://www.adapower.com Confessions of an Academic Ada Zealot Martin Carlisle