Confessions of an Academic Ada Zealot

29
3 October 2001 Confessions of an Academic Ada Zealot Martin Carlisle Confessions of an Academic Ada Zealot Martin C. Carlisle Associate Professor United States Air Force Academy Department of Computer Science

description

Confessions of an Academic Ada Zealot. Martin C. Carlisle Associate Professor United States Air Force Academy Department of Computer Science. Disclaimer. - PowerPoint PPT Presentation

Transcript of Confessions of an Academic Ada Zealot

Page 1: 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

Page 2: Confessions of an Academic Ada Zealot

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3 October 2001 Confessions of an Academic Ada ZealotMartin Carlisle

Leveraging Technology with Ada

• GNATCOM– MS reusable object technology

http://www.adapower.com