Aprendendo a Linguagem Ada

Nunca é tarde para começar

Esse mês eu decidi começar os estudos da Linguagem de Programação Ada. Eu trabalho há um bom tempo com computação embarcada (lá se vão quase 30 anos) e desde o início usei basicamente C.

Há uns 5 anos, comecei a usar C++ e em 2017 fiz meu primeiro projeto usando Python rodando em uma Placa Raspberry Pi.

Mas sempre ouvi falar sobre as vantagens da Linguagem Ada, foi então que finalmente resolvi aprendê-la.

Os primeiros passos tem sido muito difíceis. É necessário rever todos os conceitos solidificados por anos. Não tem mais aquela flexibilidade do C, para mexer com variáveis, ponteiros, estruturas e vetores.

Mas o interessante, é que lendo os tutoriais, me vem à mente diversos problemas que eu tive durante minha experiência com C. Muitas noites sem dormir, preocupações, dores de cabeça e muitas vezes a “culpa” era de um pequeno ponteiro com o qual não fui tão cuidadoso, um buffer overflow difícil de detectar, a falta de um cast que destruía uma variável vizinha. Quem trabalha com C ou C++ sabe exatamente do que estou falando.

Uma das grandes vantagens do Ada é evitar que erros como esse aconteçam.

Como começar

GNAT é o compilador Ada e eu sugiro instalar o GPS (GNAT Programming Studio) uma IDE com muitos bons recursos.

Você pode baixá-lo no site da Ada Core.

Tutoriais

Assim que você instala o GPS, você encontra um tutorial que explica todos os recursos do GPS. É um bom tutorial, mas se você não conhece Ada, sugiro se familiarizar com a linguagem primeiro.

Você pode encontrar alguns tutoriais na internet, minha sugestão é esse tutorial no site Learn Adacore.com.

Se você é um programador C++ ou Java, também sugiro acompanhar esse tutorial: Ada For CPP and Java Developer.

Hello World!

Como de costume, começamos com um programa Hello World! Nesse momento não será necessário utilizar o GPS, podemos rodá-lo pela linha de comando.

Mas antes, inclua no PATH do sistema operacional o diretório onde foi instalado o GNAT, seguido de \bin

No meu caso (Windows 10), D:\GNAT\2019\bin

Assegure-se que o programa gcc aponta para esse diretório:

where gcc
D:\GNAT\2019\bin\gcc.exe

Crie o arquivoHelloWorld.adb:

with Ada.Text_IO;
use Ada.Text_IO;procedure HelloWorld is
begin
Put_Line ("Hello World!");
end Main;

Para compilá-lo use gprbuild

>gprbuild HelloWorld.adb
using project file D:\GNAT\2019\share\gpr\_default.gpr
Compile
[Ada] helloworld.adb
Bind
[gprbind] helloworld.bexch
[Ada] helloworld.ali
Link
[link] helloworld.adb

Agora, basta rodar seu novo projeto Ada HelloWorld!

>helloworld
Hello World!

Conclusão

Sei que será uma jornada e tanto. E vou compartilhar aqui cada passo.