Awesome Ada Awesome

Ada is powering satellites, aircrafts, ships, power plants, surgical robots, drones, CNCs, servers, games and coffee makers. Ada is arguably the most { performant ∩ capable ∩ precise ∩ readable ∩ mature } programming language. Ada is alive and kicking!

Long live Ada/SPARK.

A curated list of awesome resources related to the Ada and SPARK programming language.

Contents

  1. Presentation
  2. Education
    1. Entry Point
    2. Tutorials
    3. Online Books
    4. Books
    5. Specialties
    6. Reference
  3. Community
    1. Questions and Answers
    2. News and Resources
    3. Competition
  4. Compilers
    1. Open source
    2. Commercial / Open source
    3. Commercial / Closed source
    4. Online
  5. Edit
    1. Integrated Development Editors
    2. Editors
    3. Text Modes
    4. VSCode Extensions
  6. Deployment
    1. Build and Package
    2. Continuous Integration
  7. Runtimes
  8. OS and Kernels
  9. Games
  10. Frameworks
    1. Components
    2. Distributed
    3. Graphical User Interface
    4. Terminal User Interface
    5. 3D
    6. Database
    7. Web
    8. Unit Test, Testing
    9. Logging
    10. Machine Learning
    11. Automation
  11. Tools
    1. DevOps
    2. Verification
    3. Generation
    4. UML
    5. Encryption
  12. Libraries
    1. Math
    2. Science
    3. Algorithms, Containers and Protocols
    4. Cryptography
    5. Compression
    6. Patterns
    7. System Modeling
    8. Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters
    9. Format Readers and Writers
    10. Networking and Communication Middleware
    11. Chatting and Communication
    12. Web
    13. Graphics and Multimedia
    14. General Purpose Computing
    15. Sound
    16. Localization
    17. Utilities
    18. Robotics
    19. Linux and POSIX
    20. Windows and .NET
  13. Hardware and Embedded
    1. Frameworks
    2. Firmwares
    3. Drivers
    4. Controllers
    5. Communication
    6. Libraries
    7. Applications
    8. Bindings
  14. Applications
    1. Office
    2. Mail
    3. Web
    4. Multimedia
    5. Automation
    6. Simulation
    7. Generators and Translators
    8. Shells, Interpreters and Emulators
    9. Programming Languages
    10. Misc
  15. Bindings

Presentation

Education

Entry Point

Tutorials

Online Books

Books

Programming in Ada 2012 with a Preview of Ada 2022 (2nd ed.) - Comprehensive.
Programming in Ada 2012 - Comprehensive.
Beginning Ada Programming: From Novice to Professional - Introduction.
Ada 95: The Craft of Object-Oriented Programming - General, intermediate.
Ada Plus Data Structures: An Object Oriented Approach - Data Structures.
Ada for Software Engineers - Idioms, Architecture.
Concurrent and Real-Time Programming in Ada - Concurrency, Containers, Scheduling.
Data Structures and Algorithms: An Object-Oriented Approach Using Ada 95 - Data structures, Algorithms.
Building Parallel, Embedded, and Real-Time Applications with Ada - Concurrency, Distributed.
Analysable Real-Time Systems: Programmed in Ada - Scheduling.
Building High Integrity Applications with SPARK - Formal verification.
Ada and SPARK on ARM Cortex-M - Embedded.

Specialties

Reference

Community

Questions and Answers

News and Resources

Competition

Compilers

Open source

GPL (no linking exception)

GPL (with linking exception)

MIT

Apache License

Commercial / Open source

Commercial / Closed source

Online

Edit

Integrated Development Editors

The GNAT Programming Studio

Editors

Text Modes

VSCode Extensions

Deployment

Build and Package

Continuous Integration

Runtimes

OS and Kernels

Games

Frameworks

Components

Distributed

Graphical User Interface

Terminal User Interface

3D

Database

Web

Unit Test, Testing

Logging

Machine Learning

Automation

Tools

DevOps

Verification

Generation

UML

Encryption

Libraries

Math

Science

Algorithms, Containers and Protocols

Cryptography

Compression

Patterns

System Modeling

Parsers, Scanners, Linters, Analysers, Interpreters and Prettyprinters

Format Readers and Writers

Networking and Communication Middleware

Chatting and Communication

Web

Graphics and Multimedia

General Purpose Computing

Sound

Localization

Utilities

Robotics

Linux and POSIX

Windows and .NET

Hardware and Embedded

Frameworks

Firmwares

Drivers

Controllers

Communication

Libraries

Applications

Bindings

Applications

Office

Mail

Web

Multimedia

Automation

Simulation

Generators and Translators

Shells, Interpreters and Emulators

Programming Languages

Misc

Bindings