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

3 October 2001Confessions of an Academic Ada Zealot Martin Carlisle Confessions of an Academic Ada Zealot Martin C. Carlisle Associate Professor United

Embed Size (px)

Citation preview

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