Confessions of an Academic Ada Zealot
description
Transcript of Confessions of an Academic Ada Zealot
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Confessions of an Academic Ada Zealot
Martin C. Carlisle
Associate Professor
United States Air Force Academy
Department of Computer Science
3 October 2001 Confessions of an Academic Ada ZealotMartin 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.
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
History (1980s)
$7600.00 $435.00 $640.00
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Another 80s DoD acquisition
• ANSI/MIL-STD-1815A-1983 (the Ada programming language)
• Started in 1974. Requirements in 1978, standardized in 1983.
3 October 2001 Confessions of an Academic Ada ZealotMartin 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)
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Ada in 80s
• Compilers were expensive and slow
• As an innovative language, hard to implement
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Major Contracts
• 1992: Air Force gives contract to NYU for GNAT. Ada Core Technologies established in 1994.
• 1995: Academic Ada contract to Intermetrics
3 October 2001 Confessions of an Academic Ada ZealotMartin 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)
3 October 2001 Confessions of an Academic Ada ZealotMartin 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
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Why we STILL teach Ada at USAFA
• Clear syntax
• Supports software engineering principles
• Cheaper development costs– Time constraints for cadets are large!
3 October 2001 Confessions of an Academic Ada ZealotMartin 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
3 October 2001 Confessions of an Academic Ada ZealotMartin 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"
3 October 2001 Confessions of an Academic Ada ZealotMartin 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++"
3 October 2001 Confessions of an Academic Ada ZealotMartin 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)
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Comparing Languages (FAA)
• Evaluation included capability, efficiency, availability/reliability, maintainability/ extensibility, lifecycle cost, and risk.
Ada 78.8C++ 63.9C 59.5FORTRAN 47.0
Software Engineering Institute (for FAA)
3 October 2001 Confessions of an Academic Ada ZealotMartin 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)
3 October 2001 Confessions of an Academic Ada ZealotMartin 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")
3 October 2001 Confessions of an Academic Ada ZealotMartin 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/
3 October 2001 Confessions of an Academic Ada ZealotMartin 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
3 October 2001 Confessions of an Academic Ada ZealotMartin 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
3 October 2001 Confessions of an Academic Ada ZealotMartin 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
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
What kinds of tools are we looking for?
• Cheap
• Simple
• Powerful
• Must compare favorably with Visual Studio, freely available Java tools
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Tools to Support Ada in Education and Elsewhere
• GNAT/AdaGIDE
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• JGNAT Connect Four applet demo
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• Gtk/GLADE/GVD– Primarily Linux based, but Windows version– XML based GUI builder– Multi-language debugging platform
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• RAPID– Multi-platform GUI builder
http://www.usafa.af.mil/dfcs/bios/carlisle.html
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• CLAW– Windows GUI builder– Free demo, pay for full version
RR software (www.rrsoftware.com)
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• GWindows– Free OO Windows library– Currently no GUI builder
www.adapower.com
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• GNATCOM– MS reusable object technology
http://www.adapower.com