PowerPoint Show

Download Report

Transcript PowerPoint Show

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 Zealot
Martin 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 Zealot
Martin Carlisle
History (1980s)
$7600.00
3 October 2001
$435.00
Confessions of an Academic Ada Zealot
Martin Carlisle
$640.00
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 Zealot
Martin 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 Zealot
Martin Carlisle
Ada in 80s
• Compilers were expensive and slow
• As an innovative language, hard to
implement
3 October 2001
Confessions of an Academic Ada Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin Carlisle
Comparing Costs (C++)
• Analysis of info systems and C3 systems
showed Ada had a 35% advantage in frontend 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 Zealot
Martin Carlisle
Comparing Languages (FAA)
• Evaluation included capability, efficiency,
availability/reliability, maintainability/
extensibility, lifecycle cost, and risk.
Ada
78.8
C++
63.9
C
59.5
FORTRAN
47.0
Software Engineering Institute (for FAA)
3 October 2001
Confessions of an Academic Ada Zealot
Martin 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/adajava-teaching-comp.pdf (Brosgol)
3 October 2001
Confessions of an Academic Ada Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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/adaproject-summary.html
3 October 2001
Confessions of an Academic Ada Zealot
Martin 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/adafoundation.html
3 October 2001
Confessions of an Academic Ada Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin Carlisle
Tools to Support Ada in
Education and Elsewhere
• GNAT/AdaGIDE
3 October 2001
Confessions of an Academic Ada Zealot
Martin Carlisle
Leveraging Technology with
Ada
• JGNAT Connect Four applet demo
3 October 2001
Confessions of an Academic Ada Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin 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 Zealot
Martin Carlisle
Leveraging Technology with
Ada
• GNATCOM
– MS reusable object technology
http://www.adapower.com
3 October 2001
Confessions of an Academic Ada Zealot
Martin Carlisle