From Fedora Project Wiki
Line 78: Line 78:
== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
*
* http://libre.adacore.com/home/ada_answers/ada_overview/
* http://libre.adacore.com/home/ada_answers/ada-2012/
* http://www.adaic.org/resources/add_content/standards/05rm/html/RM-TTL.html


== Release Notes ==
== Release Notes ==

Revision as of 18:48, 4 June 2011

Note.png
All sections of this template are required for review by FESCo. If any sections are empty it will not be reviewed


Feature Name

Features/BetterAdaSupport

Summary

Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language.

Owner

  • Email: landgraf@fedoraproject.org

Current status

  • Targeted release: Fedora 16
  • Last updated: 2011-06-04
  • Percentage of completion: 25%


Detailed Description

Ada is a modern programming language designed for large, long-lived applications – and embedded systems in particular – where reliability and efficiency are essential. It was originally developed in the early 1980s (this version is generally known as Ada 83) by a team led by Dr. Jean Ichbiah at CII-Honeywell-Bull in France. The language was revised and enhanced in an upward compatible fashion in the early 1990s, under the leadership of Mr. Tucker Taft from Intermetrics in the U.S. The resulting language, Ada 95, was the first internationally standardized (ISO) Object-Oriented Language. Under the auspices of ISO, a further (minor) revision was completed as an amendment to the standard; this version of the language is known as Ada 2005. Work is currently in progress on some additional features (including support for program anotations) and is expected to be completed in 2012.

Benefit to Fedora

For Fedora this brings the Ada support right up to date and alongside Debian. It also enables our developers to use a powerful, secure and fast programming language.

Scope

Required steps are:

  1. Ada Packaging Guidelines
  2. Support of Ada 2011 specification
  3. GprBuild - Gnat project build (Requre XMLAda)
  4. GtkAda - Ada bindings for GTK
  5. QtAda - Ada bindings for QT
  6. GPS - GNAT Programming Studio
  7. AWS - Ada web server and tools for http:// and other protocols
  8. Gdb - Ada support for GDB (need hard-working with GDB upstream and AdaCore is needed)
  9. Matreshka - a set of Ada libraries to help to develop information systems.

How To Test

  1. No special hardware is needed.
  2. For install compiler and project-file use:
$ yum install fedora-gnat-project-common gprbuild
  1. Use any examples GPRs for build and test

User Experience

End users won't notice the difference. Developers will have a more powerful and up to date Ada to use.

Dependencies

None

Contingency Plan

None necessary. We should fix existing packages in order to help the Community. We should also monitor upstream development process for potentially discovered issues and proactively apply patches.

Documentation

Release Notes

  • Fedora 16 includes full stack of tools for Development on Ada: Compiler (gcc-gnat), Project Builder (gprbuild), IDE (GPS) and some others
  • Ada bindings for most popular tools such as: GTK, Qt, zeromq, Databases (PostgreSQL, MySQL and SQLite) etc

Comments and Discussion