No edit summary |
|||
(42 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Feature Name <!-- The name of your feature --> = | = Feature Name <!-- The name of your feature --> = | ||
Features/ | Features/AdaDeveloperTools | ||
== Summary == | == Summary == | ||
<!-- A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release. --> | <!-- A sentence or two summarizing what this feature is and what it will do. This information is used for the overall feature summary page for each release. --> | ||
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language. | Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language. | ||
== Owner == | == Owner == | ||
<!--This should link to your home wiki page so we know who you are--> | <!--This should link to your home wiki page so we know who you are--> | ||
Line 18: | Line 13: | ||
== Current status == | == Current status == | ||
* Targeted release: [[Releases/ | * Targeted release: [[Releases/21 | Fedora 21 ]] | ||
* Last updated: | * Last updated: 2013-11-09 | ||
* Percentage of completion: | * Percentage of completion: 85% | ||
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | <!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. --> | ||
== Detailed Description == | == 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 == | == Benefit to Fedora == | ||
Line 33: | Line 28: | ||
== Scope == | == Scope == | ||
<!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do the developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
Required steps are: | |||
# '''Ada Packaging Guidelines''' - ''accepted'' | |||
# '''Support of Ada 2012 specification''' - ''done`` (since gcc-4.8) | |||
# '''GprBuild''' - Gnat project build (Requres XMLAda) - ''approved'' | |||
# '''GtkAda''' - Ada bindings for GTK - ''approved'' | |||
# '''Gela-asis''' - ASIS implementation for qtada - ''under review'' | |||
# '''QtAda''' - Ada bindings for QT - ''ready for review'' | |||
# '''GPS''' - GNAT Programming Studio - ''stale review'' | |||
# '''AWS''' - Ada web server and tools for http:// and other protocols - ''approved'' | |||
# '''Matreshka''' - a set of Ada libraries to help to develop information systems. - ''approved'' | |||
# '''Florist''' -- Open-source implementation of IEEE Standard 1003.5b-1996 - ''approved'' | |||
# '''Gnatcoll''' -- Suite of reusable software components and utilities for Ada developers - ''approved'' | |||
== How To Test == | == How To Test == | ||
Line 48: | Line 55: | ||
3. What are the expected results of those actions? | 3. What are the expected results of those actions? | ||
--> | --> | ||
#No special hardware is needed. | |||
#For install compiler and project-file use: <pre> $ yum install fedora-gnat-project-common gprbuild </pre> | |||
# Use any examples GPRs for build and test | |||
== User Experience == | == User Experience == | ||
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | <!-- If this feature is noticeable by its target audience, how will their experiences change as a result? Describe what they will see or notice. --> | ||
End users won't notice the difference. Developers will have a more powerful and up to date Ada to use. | |||
== Dependencies == | == Dependencies == | ||
<!-- What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this feature depends? In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate? Other upstream projects like the kernel (if this is not a kernel feature)? --> | <!-- What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this feature depends? In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate? Other upstream projects like the kernel (if this is not a kernel feature)? --> | ||
None | |||
== Contingency Plan == | == Contingency Plan == | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "None necessary, revert to previous release behaviour." Or it might not. If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "None necessary, revert to previous release behaviour." Or it might not. If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
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 == | == 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/ Ada overview] | ||
* [http://www.ada-auth.org/standards/ada12.html Ada Reference Manual (2012)] | |||
== Release Notes == | == Release Notes == | ||
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ --> | <!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ --> | ||
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. --> | <!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this feature, indicate them here. You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. --> | ||
* | * Fedora 19 includes full stack of tools for Ada Development: 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 == | == Comments and Discussion == | ||
* See [[Talk:Features/ | * See [[Talk:Features/Ada_developer_tools]] | ||
[[Category:FeaturePageIncomplete]] | [[Category:FeaturePageIncomplete]] |
Latest revision as of 18:44, 8 November 2013
Feature Name
Features/AdaDeveloperTools
Summary
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language.
Owner
- Name: Pavel Zhukov
- Email: landgraf@fedoraproject.org
Current status
- Targeted release: Fedora 21
- Last updated: 2013-11-09
- Percentage of completion: 85%
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:
- Ada Packaging Guidelines - accepted
- Support of Ada 2012 specification - done
(since gcc-4.8)
- GprBuild - Gnat project build (Requres XMLAda) - approved
- GtkAda - Ada bindings for GTK - approved
- Gela-asis - ASIS implementation for qtada - under review
- QtAda - Ada bindings for QT - ready for review
- GPS - GNAT Programming Studio - stale review
- AWS - Ada web server and tools for http:// and other protocols - approved
- Matreshka - a set of Ada libraries to help to develop information systems. - approved
- Florist -- Open-source implementation of IEEE Standard 1003.5b-1996 - approved
- Gnatcoll -- Suite of reusable software components and utilities for Ada developers - approved
How To Test
- No special hardware is needed.
- For install compiler and project-file use:
$ yum install fedora-gnat-project-common gprbuild
- 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 19 includes full stack of tools for Ada Development: 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