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 formally analyzable subset of Ada — and 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.


You may download the courses and laboratories as e-books for offline reading. We offer you the following formats: PDF, EPUB and MOBI (for Kindle devices).

Download Ada and SPARK tools

GNAT Community Download

Try Ada and SPARK now with GNAT Community edition.

GNAT Community includes the Ada compiler and toolchain, the SPARK verifier and provers, and the GNAT Studio IDE.

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.