Ada / SPARK
Ada
Ada is a structured, statically typed, imperative, and object-oriented high-level programming language, extended from Pascal and other languages.
It has built-in language support for design by contract (DbC ), extremely strong typing,
explicit concurrency, tasks, synchronous message passing, protected objects, and non-determinism.
Ada improves code safety and maintainability by using the compiler to find errors in favor of runtime errors.
(presentation on
Wikipedia )
SPARK
The SPARK language consists of a well-defined subset of the Ada language
that uses contracts to describe the specification of components in a form that is suitable for both static and dynamic verification.
(presentation on
Wikipedia )
Resources for other programming languages
Ada implementations
Documentations
Ada 2012
Ada95 Lovelace Tutorial ,
Steelman On-Line
(David A. Wheeler )
Ada – A Crash Course (January 2020),
Sample code samples.zip
(Peter C. Chapin )
Ada-Europe 🇪🇺:
AUJ – Ada User Journal ;
Ada-Belgium 🇧🇪
(Dirk Craeynest );
Ada France 🇫🇷
Ada Conformity Assessment Authority :
Ada 2012 Reference Manual ,
Ada 2022 Language Reference Manual ,
Overview of Ada 2022
AdaControl
(Adalog )
AdaCore :
SPARK ;
ada-examples (Kyle Kerse )
Ada Forge (William J. Franck )
Ada Home
AdaIC – Ada Information Clearinghouse :
Ada Comparison Chart ,
Ada on the Web ,
Ada Rapporteur Group ,
Ada Standards :
AdaPower
Ada Programming :
Generics ,
Type System
(Wikibooks)
Ada Programming Language :
Ada Quality and Style Guide ,
Books ,
Syntax Cheat Sheet ;
Discord ;
Forum
(profile OPi )
Ada Quality and Style Guide: Guidelines for Professional Programmers (Wikibooks)
Ada: When the software HAS to work (Reddit)
(profile OPi Media )
awesome-ada
– curated list of awesome resources related to the Ada and SPARK
Cheat Sheet Ada ;
OverAPI.com Ada :
Ada Reference Card ,
Ada Syntax Card (DAINA, 1995)
FOSDEM Ada devroom
(video recordings ):
2022 ,
2020 ,
2019 ,
2018 ,
2016 ,
2015 ,
2014 ,
2013 ,
2012 ,
2011 ,
2009 ,
2006 ;
FOSDEM
Introduction to Ada ,
The Enhanced Dining Philosophers Problem
(Ray Toal )
ITEC 320 - Procedural Analysis and Design - Spring 2020 :
ITEC 320 FAQ
(Edward G. (Ned) Okie )
Java 2 Ada
Jeffrey R. Carter :
King Basics for Ada Software Engineers ,
Papers ,
Pragmada Software Engineering Coding Standard
Le langage Ada 95 – 2005
.pdf
(Yves Bailly , GNU /Linux Magazine France 2005–2007) :
1. Présentation d’un langage pas comme les autres
.pdf
2. Sous-programmes
.pdf
3. Structure de contrôle en Ada
.pdf
4. Utilisation des tableaux
.pdf
5. Les enregistrements
.pdf
6. Les paquetages
.pdf
7. La généricité
.pdf
8. Chaînes et fichiers
.pdf
9. Mémoire et pointeurs
.pdf
10. Les exceptions
.pdf
11. L’orientation objet
.pdf
12. Types limités et objets contrôlés
.pdf
13. Liaison avec d’autres langages
.pdf
14. Tâches parallèles
.pdf
15. Conteneurs
.pdf
16. Les caractères des chaînes
.pdf
17. Un peu d’assembleur
.pdf
Make with Ada
Pascal Style Languages: Pascal, Ada, PL/pgSQL
(Hyperpolyglot )
Programming in Ada 2012 with a Preview of Ada 2022
(John Barnes , 2022);
Introducing Ada 95
(John Barnes , 1995)
Stack Overflow Ada tag
(profile Olivier Pirson )
syntax in Ada
(Pascal Rigaux )
Ada history
Ada – The Project, The DoD High Order Language Working Group
(William A. Whitaker , 1993)
Episode 101 – Origins of Ada ,
Episode 102 – Application of Ada
(Advent of Computing, February 6 and 20, 2023)
Overview of the Ada Computer Language Competition :
Strawman – The technical requirements (April 1975)
Rationale for the Design of the ADA Programming Language
.pdf
(Jean D. Ichbiah ,
John G. P. Barnes ,
Jean-Claude Heliard ,
Bernd Krieg-Brueckner ,
Olivier Roubine ,
Brian A. Wichmann
1979)