コンテンツにスキップ

Ada

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Ada
Ada
Adaのロゴ
パラダイム オブジェクト指向プログラミング命令型プログラミング構造化プログラミング、マルチパラダイムプログラミング ウィキデータを編集
登場時期 1983年 (41年前) (1983)
設計者 ジャン・イシュビア
1995年拡張はS. Tucker Taft主導
開発者 ジャン・イシュビア、S. Tucker Taft ウィキデータを編集
最新リリース ISO/IEC 8652:2012 (Ada 2012)
型付け nominative, 安全な強い静的型付け
主な処理系 GNAT (GCC) 他
方言 Ada 83

Ada 95

Ada 2005

Ada 2012
影響を受けた言語 ALGOL 68、PascalModula-2C++SmalltalkJavaEiffel、ALGOL 60、Green、Ada 95 ウィキデータを編集
影響を与えた言語 C++, PL/SQL, VHDL, Java, C言語 (C99)
プラットフォーム 多数
ウェブサイト www.adaic.org ウィキデータを編集
拡張子 .adb, .ads
テンプレートを表示

AdaAlgol

AdaADA

GNAT

[]

Ada

19794REDBLUEYELLOWGREENGREEN















使

C++namespace

C++

entry/accept/select



[ 1]StrawmanWoodenmanTinman使IronmanSteelman5

16Ada





Ada



Makefile



使1980[1] (Turing Award Lecture) "The Emperor's Old Clothes" ALGOL 68en:ALGOL 68Ada[ 2]

[]


1983MIL1815MIL-STD-1815ANSI1987ISO ISO/IEC 8652:1987 

1990ISO (ISO/IEC 8652:1987) 1995215ISO1995

 (C/FORTRAN/COBOL) 
C++C++C++3199891

 (RPC)

2000Technical AmendmentISO/IEC 8652:1995/COR1:2000JIS2002 (JIS X 3009:2002) JIS X 3009JIS2012120JIS

Ada  ISO 20052012

[]


Ada .ads  (specification file)  .adb  (body file) 

33使

Hello World[編集]

-- Ada.Text_IO パッケージを取り込む。
with Ada.Text_IO;
-- use 節で指定することでパッケージ名の修飾を省略することも可能。
--use Ada.Text_IO;

procedure Program is
begin
   Ada.Text_IO.Put_Line("Hello, world!");
   --Put_Line("Hello, world!");
end Program;

ループと条件分岐[編集]

with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Float_Text_IO;
use Ada.Text_IO;

procedure Program is
   I : Integer := 0;
   F : Float;
begin
   for I in 0 .. 10 loop
      -- 左寄せで出力。
      Ada.Integer_Text_IO.Put(I, 0);
      if I mod 2 = 0 then
         Put_Line(": even number.");
      else
         Put_Line(": odd number.");
      end if;
      F := Float(I) * 0.1;
      Ada.Float_Text_IO.Put(F, 0, 1, 0);
      Put_Line("");
   end loop;
end Program;

利用例[編集]

最近[いつ?]の利用例としてはF-22戦闘機97式魚雷などがある。ただしこの分野でもAdaの陳腐化が進んでおり、F-35戦闘機以降はC++へ移行している。

民生品ではあまり利用されていないが、信頼性を重視する航空機の制御ソフトウェアに利用されることがある。例としてはボーイング777など。

脚注[編集]

注釈[編集]

  1. ^ 先進的ということは、言い換えれば「こなれていない」ということであり、兵器のようなシステムでは冒険的過ぎると言えなくもない。
  2. ^ この講演は、2通りのソフトウェアの設計構築法について述べた "One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies."; 「ひとつめの方法はあきらかに欠陥が無いようにso simpleにするというもので、もうひとつの方法はあきらかな欠陥が無いようにso complicatedにするというものである」という文章でも知られる。

出典[編集]

外部リンク[編集]

関連項目[編集]