私「そういえばAdaやってるって聞いたけどどんな感じなの?」
後輩「うーん、軍事用に開発された言語なので、信頼性が非常に重要視されているんですよね。だから型とかすごく厳しいし、まぁ書いてみると色々と面倒です。」
私「何それかわいい」
そういうわけで、プログラム言語Adaを触ってみることにした。
本も読んでないし本当に遊び半分で昨夜手を出しただけなので、動作報告程度に捉えてほしい。申し訳ない。
とりあえず目の前にあったのがWindowsなのでMinGWをダウンロード、インストール時にオプションで必要なコンパイラとしてAda Compilerにチェックを入れた。
とりあえずhello world。
hello.adb
with Ada.Text_IO; --文字列の入出力のために必要なライブラリ
procedure Hello is --プロシージャ。名前はファイル名と一致させる。ただし大文字開始
begin --Helloプロシージャ開始
Ada.Text_IO.Put("Hello, world!"); --文字列出力
end Hello; --Helloプロシージャ終了
なお、use節でいちいちライブラリを指定しなくてもプロシージャ(Putとか)を呼べるようだ。
hello.adb
with Ada.Text_IO; --文字列の入出力のために必要なライブラリ
use Ada.Text_IO; --Putを直接呼べる
procedure Hello is --プロシージャ。名前はファイル名と一致させる。ただし大文字開始
begin --Helloプロシージャ開始
Put("Hello, world!"); --文字列出力
end Hello; --Helloプロシージャ終了
で、MinGWなら~/内にパスが通ってくれてるので
$ gnatmake hello.adb
gcc -c hello.adb
gnatbind -x hello.ali
gnatlink hello.ali
で実行ファイルhogehoge.exeが生成される。
$ hello.exe
Hello, world!
Qiitaでの投稿のテストという意味もあるが、Adaタグを作りたかったという意味もある。