Please discuss & share about this content in the GGA Initiative - Ada key points category

  • Ada is Libre software
    • The GNU FSF official GCC compiler include Ada support.
    • Ada development environment and tooling are available in GPL.
    • Ada environment is present in lots of GNU based distributions (Debian, Fedora, SUSE, ..., and derivatives of them ...).
  • Ada answers efficiently to lot's of the GNU Community needs
    • Ada is designed to be safe and secure.
      Buffer overruns and overflows problems are something of the past.

      "Make GNU applications safe and secure"

    • Ada is made for long lived applications.
      Software complexity can increase during the software life time. Ada is designed for long lived application.

      "Make GNU large scale applications less complex"

    • Ada facilitates software maintenance & collaborative works.
      Ada syntax is designed to be clear, and it's easier for teams that are located in different places to understand sources they have not written.
      Ada introduce a clear separation between the package specification and implementation part.
      Ada strong typing make things clear, no more integers every where & comparing apples and oranges.

      "Lower the energy to maintain & develop GNU applications"

    • Ada is made for all kind of software development.
      Ada can be used for low-level programming (kernels, firmwares) and also for high level programming (distributed service oriented applications).

      "The same technology can be used in most of GNU applications areas"

    • Ada is made for multi language and multi platform environment.
      GNAT Project file is a multi language and multi platform toolset that can be used to manage all GNU applications  production and description with all the solid Ada heritage in software engineering.

      "GNAT Project files can be used as the GNU multi language & multi platform project management foundation"

  • Ada is an attractive technology & provides built-in :
    • One of the richest language semantic.
    • Static Typed facilities.
    • Object Oriented Programming facilities.
    • Exception handling.
    • Design by Contract facilities.
    • Correct by Construction facilities (using SPARK Ada toolset).
    • Real-Time & Multi-Tasking facilities.
    • Distributed facilities.
    • Interfacing to other language facilities.
    • Genericity facilities.
    • Enhanced package visibility facilities.
    • Standard library services.
    • Portability.
    • Static reflexion (using ASIS).