Edit on GitHub

What is Ada and SPARK?

Ada is a state-of-the art programming language that development teams worldwide are using for critical software: from microkernels and small-footprint, real-time embedded systems to large-scale enterprise applications, and everything in between.

SPARK is a formally analyzable subset of Ada — and a toolset that brings mathematics-based confidence to software verification.

Try Ada Now:

with Ada.Text_IO; use Ada.Text_IO; procedure Learn is subtype Alphabet is Character range 'A' .. 'Z'; begin Put_Line ("Learning Ada from " & Alphabet'First & " to " & Alphabet'Last); end Learn;

Check out the interactive courses and labs listed on the left side to learn more about Ada and SPARK.


Download the contents of the entire website as an e-book for offline reading. Following formats are available: PDF and EPUB.

Alternatively, download individual courses and laboratories as e-books:

Ada Training

Get professional Ada training from Adacore.

Experience has shown that Ada is an extremely learnable language and that programmers with basic knowledge in other languages can quickly get up to speed with Ada. For programmers who already have some Ada experience, AdaCore offers advanced courses in Ada and GNAT Pro/GNAT Studio designed to help developers get the most out of the technology.

GNAT Academic Program

Teachers and graduate students who are interested in teaching or using Ada or SPARK can take advantage of AdaCore's GNAT Academic Program (GAP).

GAP's primary objective is to help put Ada and SPARK at the forefront of university study by building a community of academic professionals. GAP members receive a comprehensive toolset and professional support package specifically designed to provide the tools needed to teach and use Ada and SPARK in an academic setting. Best of all, AdaCore provides the GAP Package to eligible members at no cost. Register for membership today and join over 100 member universities in 35 countries currently teaching Ada and SPARK using GAP.