3 october 2001confessions of an academic ada zealot martin carlisle confessions of an academic ada...

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

Upload: fred-duell

Post on 15-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

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