17
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AdaでHello world

Posted at

私「そういえば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タグを作りたかったという意味もある。

17
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?