confessions of an academic ada zealot
DESCRIPTION
Confessions of an Academic Ada Zealot. Martin C. Carlisle Associate Professor United States Air Force Academy Department of Computer Science. Disclaimer. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/1.jpg)
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
![Page 2: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/2.jpg)
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.
![Page 3: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/3.jpg)
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
History (1980s)
$7600.00 $435.00 $640.00
![Page 4: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/4.jpg)
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.
![Page 5: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/5.jpg)
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)
![Page 6: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/6.jpg)
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
![Page 7: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/7.jpg)
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
![Page 8: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/8.jpg)
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)
![Page 9: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/9.jpg)
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
![Page 10: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/10.jpg)
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!
![Page 11: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/11.jpg)
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
![Page 12: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/12.jpg)
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"
![Page 13: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/13.jpg)
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++"
![Page 14: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/14.jpg)
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)
![Page 15: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/15.jpg)
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)
![Page 16: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/16.jpg)
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)
![Page 17: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/17.jpg)
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")
![Page 18: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/18.jpg)
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/
![Page 19: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/19.jpg)
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
![Page 20: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/20.jpg)
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
![Page 21: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/21.jpg)
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
![Page 22: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/22.jpg)
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
![Page 23: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/23.jpg)
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Tools to Support Ada in Education and Elsewhere
• GNAT/AdaGIDE
![Page 24: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/24.jpg)
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• JGNAT Connect Four applet demo
![Page 25: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/25.jpg)
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
![Page 26: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/26.jpg)
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
![Page 27: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/27.jpg)
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)
![Page 28: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/28.jpg)
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
![Page 29: Confessions of an Academic Ada Zealot](https://reader035.vdocuments.us/reader035/viewer/2022062518/5681412e550346895dad14a7/html5/thumbnails/29.jpg)
3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle
Leveraging Technology with Ada
• GNATCOM– MS reusable object technology
http://www.adapower.com