米国国防省の標準高等言語エイダ(Ada)を語れ!

■ このスレッドは過去ログ倉庫に格納されています
1名無しさんは伊達じゃない
垢版 |
NGNG
どうよ?
573デフォルトの名無しさん
垢版 |
2005/12/28(水) 21:15:15
o
2005/12/29(木) 06:23:55
バグの出にくい言語仕様を考える。
http://pc8.2ch.net/test/read.cgi/tech/1111747980/

このスレのアイデアの半分ぐらいは既にAdaにあるんだよなあ…。

> そうすると、制約だらけでウザいだけの言語になって、さらに既存の言語の拡張という形はとれなくなるが。

までピッタシカンカンだしなあ…。
2006/01/07(土) 19:02:40
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
procedure NSort is
N : Natural;
begin
Get(N);
declare
Used : array (1 .. N) of Boolean := (others => False);
procedure Rec(F : Natural; Par : not null access procedure) is
begin
if F < N then
for I in Used'Range loop
if not Used(I) then
declare
procedure P is
begin
Par.all; Put(I, 2);
end;
begin
Used(I) := True; Rec(F + 1, P'Access); Used(I) := False;
end;
end if;
end loop;
else
Par.all; New_Line;
end if;
end Rec;
procedure Prompt is begin Put('>'); end Prompt;
begin Rec(0, Prompt'Access); end;
end NSort;
576デフォルトの名無しさん
垢版 |
2006/01/19(木) 21:02:18
age
2006/02/05(日) 11:33:10
すいませんどなたかlimitedが何なのか教えてもらえませんか
一応RM95読んだんですけど生半可な英語力でわかりませんでした
2006/02/05(日) 14:43:56
>>577
限られた、とか、限定の、とか、限定版、とかそういう意味で、
Adaでの意味は「代入禁止」。
2006/02/06(月) 00:43:16
なるほど。tnx
2006/02/14(火) 10:30:27
保守するだけじゃなんなので、教えて君。
つか、見てる人何人いるんだろう?

とりあえず、Adjustで何をしたらいいのか教えてください。
代入時に呼び出されてるっぽいことはわかるんだけど。
代入直前なのか直後なのか、引数は代入される側なのかする側なのか、とか。
2006/02/14(火) 11:47:22
このスレの誰か入門書を書いてくれー。
2006/02/14(火) 13:08:30
「RM嫁」とか、「とりあえずそれっぽいの書いて、コンパイルエラーを消してけ」としか。
RMは非常に読みにくいが、コンパイルエラーは親切。

「初心者の初心者による入門書」なら書けるけど、、、読んでも得るもの少ないよ?
2006/02/14(火) 20:35:12
>>580
oopweb.com
ttp://oopweb.com/Ada/Documents/AdaLinux/VolumeFrames.html?/Ada/Documents/AdaLinux/Volume/book.html
とかどうだ。
コピーコンストラクタのようなものと書かれてはいるが
2006/02/14(火) 21:34:42
>>580
a := b;としたらAdjust(a);が呼ばれる。
例えば中にポインタがあったりして、その中身まで複写しないと
いけないようなケースでコピー後の調整を行うのがAdjust。
全部コピーして回るC++のコピーコンストラクタとはちょと違う。

type a is new Controlled with record x : access Work_Area; y: Integer; end;
procedure initialize(obj:in out x) is begin obj.x := new Work_Area; end;
procedure Free is new Unchecked_Deallocate(...);
procedure finalize(obj:in out x) is begin Free(obj.x); end;
とすると必要なAdjustは
procedure adjust(obj:in out x) is begin obj.x := new Work_Area'(obj.x.all); end;

x,yとも値は勝手にコピーされるけど、xは中身まで複製しないとその後共有してしまうしFinalizeで二重解放になってしまう。
2006/02/14(火) 22:04:25
なるほど、「複製」ではなく「調整」か
586580
垢版 |
2006/02/14(火) 23:33:15
>>583-584
ありがとう!
とりあえず代入の際の補助と理解しといた。
2006/02/15(水) 01:14:38
>>581
切実
2006/02/15(水) 23:44:59
amazonあたりでAdaの洋書を買おうとか思うんだがお薦めある?
2006/02/27(月) 09:53:30
ttp://www.macada.org/
このへん使ってる人っている?
590デフォルトの名無しさん
垢版 |
2006/03/02(木) 00:58:34
>>589
ttps://libre2.adacore.com/
のppc-darwinを使ってる。
591デフォルトの名無しさん
垢版 |
2006/03/02(木) 01:09:03
>>588
いまなら
Programming in Ada 95:
www.amazon.com/gp/product/0201342936
Ada As A Second Language:
www.amazon.com/gp/product/0070116075

もうすこししたら
Programming in Ada 2005 with CD:
www.amazon.com/gp/product/0321340787
co.ukだと出版がJune 30, 2006と書いてあるけど,
著者もまだ予定を出版社からきいてないみたいだからデマかも。
592デフォルトの名無しさん
垢版 |
2006/03/02(木) 01:35:23
>>588
とりあえず、
Object Oriented Programming in Ada95
ttp://burks.bton.ac.uk/burks/language/ada/ada95.pdf
とか
Ada for Software Engineers
ttp://stwww.weizmann.ac.il/g-cs/benari/books
なら,もと有料だったのがタダ。
特に、あとのBen-Ariのは,RM95の解説にもなってるのでお薦め。
昔これ読んで、やっとStreamが理解できた。
2006/03/16(木) 11:11:36
そろそろ保守
594デフォルトの名無しさん
垢版 |
2006/03/28(火) 04:30:58
ほす
2006/04/06(木) 05:04:02
AdaってGPLなんだよね
それさえなければな
2006/04/06(木) 08:17:58
GNATがGPLなだけで、他の有償コンパイラはあるけど?
ちょっと検索すれば一杯出てくる。IBMとかも出してるし。
2006/04/08(土) 21:46:30
あれ?コンパイラのGPLも感染するんだっけ?
2006/04/08(土) 22:17:54
GNATつかうとGPL汚染されるはず。
リンクされるライブラリの問題?
2006/04/08(土) 22:37:34
ライブラリの問題で、コンパイラ自体は、エディタとかと同じ扱いだったはず。
2006/04/08(土) 22:59:47
>GNATつかうとGPL汚染されるはず。
ブルブルガタガタ
2006/04/09(日) 00:35:26
libgnat.aがGPLだしねえ。って震えるほどか?
あとバイナリ配らないことにすればGPLにする必要もないわけで。
2006/04/09(日) 14:41:12
バイナリ配らないプログラムにどんな意味が?
2006/04/09(日) 14:46:17
相手が非Windowsだったらgccぐらい入ってるだろうから、makeしてくれ、と。
あとCGIとかもバイナリは「配布」する必要が無い。

ソースはGPLとは矛盾しない別ライセンスにして、GPLのバイナリと一緒に公開してもいいわけで。

…Adaの問題というかgcc使う限りそうなんだけどな。
gccが嫌でそれでもAdaを使いたいなんて意思がある奴はどっかの製品買ってるだろうし、こんなのでごねてるのはgccがGPLでなくても結局使わないとも思うが。
2006/04/09(日) 15:00:35
gcc は関係ないでしょ。gcc を使っても GPL に汚染されない言語もある訳だし。
2006/04/09(日) 15:14:18
そりゃ、ラインタイム全部用意できればねえ。
MinGW用のwindows.hとインポートライブラリなんかはGPLじゃないので、それだけで書いたらGPL以外にできるんだけども。
2006/04/15(土) 09:30:31
Cからimportすれば別だけどAdaでfork出来ない、つまり別プロセス立てられないよね
サーバーアプリケーションとかデーモンを作るときはどうするんだ?
サーバーアプリはtaskでいいかもしれんが
2006/04/16(日) 00:53:52
あれ?そういえば標準ライブラリに別プロセス実行機能が無いね。
やっぱ組み込みまでターゲットとかそんな理由なんだろうか。(GNAT.OS_Libにspawnの宣言はあるけど)
2006/04/28(金) 22:45:32
保守というかチラシの裏:begin
 図書館で検索したら一応4冊のAdaの本があった。
 日本語1冊、英語3冊。
 日本語のは出版が古くAda83で、さらにサンプルが少なかったので、英語の一冊を借りてきた。
 さて、GWはこいつと格闘するか。
end 保守というかチラシの裏;
2006/05/04(木) 04:53:25
GPS は凄いけど作るものが無い。
どこかで Adaプログラマ募集してないかな。
内職時給800円くらいでおk。
2006/05/04(木) 05:25:49
GPSは2.0代のを見てしょぼいと思ったが
GNAT GPL 2005のほうのGPS 3.0インストールしてみたら凄かった。

更にVS統合が出てた。
ttp://www.martincarlisle.com/VisualStudioIntegration.htm

仕事は……それこそ軍隊にでも雇われないと、内職に出すようなのは無いんじゃないか……。
開発速度を犠牲にしても堅牢性を追求するAdaの姿勢は、一般企業が求めてるものとは違う気がするし、何より日本では知名度が無い。
つーか、仕事あるなら俺を雇ってくださいお願いします。
2006/05/04(木) 11:28:48
仕事があるとしても新規開発じゃなくて
過去Adaがポッとで始めたときに物珍しさ?で作られたものの保守くらいだろうね
大概C++で書き直されてるんじゃないかと思うけど
612デフォルトの名無しさん
垢版 |
2006/05/13(土) 22:40:35
ほしゅ
613デフォルトの名無しさん
垢版 |
2006/05/13(土) 23:51:08
新参ですが、エイダは何が得意なんですか?
2006/05/14(日) 00:19:00
数学と競馬が得意ですわ
2006/05/14(日) 00:40:15
多次元配列を扱うサブルーチンが書きやすい。
2006/05/14(日) 06:43:58
delphiみたいなradツール作ってよ。
2006/05/14(日) 16:04:50
>>616
GWindows
…Delphiの足元どころか一般的に想像されるGUIツールの水準にもとかそういう話はこの際おいといてくれ。
618デフォルトの名無しさん
垢版 |
2006/05/16(火) 00:02:20
Adaで業務システム組んだことのある奇特な方いますか?
2006/05/24(水) 22:50:05
GWindowsがDelphiライクに使えればいいのになぁ、無理か。

GtkAdaは、、、どっちもどっちか。
2006/06/08(木) 12:21:50
h
621デフォルトの名無しさん
垢版 |
2006/06/14(水) 21:09:21
GNAT GPL 2006キター
622デフォルトの名無しさん
垢版 |
2006/06/14(水) 21:37:56
マジだー!!!!ktkr!!!!!
2006/06/17(土) 21:57:22
保守

と、チラシの裏。
さて、GNAT GPL 2006入れたらコンパイルできなくなったぞ、と。
>Ada compiler not installed on this system
orz
環境変数かな。
2006/06/20(火) 17:31:12
インストール時にPATHに追加するか聞いてくるくせに、追加しないかダメみたいだ。なんじゃそら。
私のとこもgcc-4.1いれてたので、そっちが起動されて混乱してた
625デフォルトの名無しさん
垢版 |
2006/06/22(木) 01:07:10
>>591
>Programming in Ada 2005 with CD:
>www.amazon.com/gp/product/0321340787

届いた!
2006/06/22(木) 02:11:22
>>625
うぉ、うらやまし。
AdaCoreにある.pdf以上のこと、書かれてる?
627デフォルトの名無しさん
垢版 |
2006/06/22(木) 03:45:22
CreateGame〜陸海空オンライン〜
次世代新基軸MMO製作プロジェクト始動!

PG大募集!力あるものだけね。


よろすく
2006/06/22(木) 08:51:29
>>624
Windows?
今LinuxにインストールしたけどPATHに追加するかなんて聞かれなかった
629623
垢版 |
2006/06/22(木) 09:26:43
俺も聞かれなかった@ppc-darwin
手作業で追加しろ、とは言われたけど。

結局、gccが見つけてくれなかったのはPATHの表現が原因だった。
公式の表記には従っとくものだと思った。
2006/06/22(木) 23:09:51
>>628-629
Yes, Windowsです。
2006/06/22(木) 23:40:17
GPSで、TABで3文字インデントを行うような設定どっかにないかな……
Ctrl+/で補完される基準もよくわからん
2006/06/23(金) 01:26:41
宣言関係は2文字インデント、処理が3文字インデントだっけか。
何かに乗ってたなぁ、何だっけか。。。
2006/06/30(金) 12:58:34
拡張リータン構文はどうやって使うの?
return ... do 〜 end return;内とそれが帰った先の両方で
system.address_image 使って変数のアドレスが同じ(= return 時のコピーが行われない)ようだということは確認できたけど
↓のようにしたらアドレスは同じでも中身のデータが壊れてましたよ?
俺使い方間違ってる?

function test return string is
str:string(1..10):=(others=>'n');
begin
return ret_str:string(str'range) do
for i in str'range loop
ret_str(i):=str(i);
end loop;
end return;
end test;
2006/06/30(金) 21:06:25
>>633
サイズ可変な型に関しては怪しいらしい。
http://www.adacore.com/2006/05/10/NF-A05-DC16-057-ada/
>subtype is constrained and 〜

もしかControlledもダメか?きついな。
2006/06/30(金) 21:49:38
Ada用のx64用コンパイラはありませんか?
2006/06/30(金) 22:10:28
>>635
gccを自分でビルドすれ
2006/07/01(土) 00:15:10
x64で動作するコンパイラじゃなくて
x64ネイティブバイナリを吐き出すコンパイラって意味じゃないの?
gccのAdaって対応してたっけ?
2006/07/01(土) 15:32:09
そう言われると不安だな……。
AonixやIBMなら売ってそうな気もする。知らんが。
2006/07/01(土) 23:50:35
>>633
limitedじゃないやつに対してもコンパイラ内部エラーがでた。
実装されたばかりの機能だから、バグバグみたいだ……。
not nullなんかもgcc 4.0.0直後はgenericと混ぜるとすぐ落ちてたしな……。
2006/07/01(土) 23:51:53
補足、Limited_Controlledを拡張returnで返そうとするとまだ実装されてませんとかでる。
2006/07/14(金) 19:12:19
拡張リターンヤバいマジヤバい
privateなrecord型のメンバー変数のアクセス型返せる上に
それやるとコンパイル時にもランタイム時にもエラーにならない
そして普通に中身書き換えられる

>>640
limited_controlled型は拡張リターンでなくてもエラーにならないか?

そして保守
2006/07/15(土) 01:55:07
>>641
普通のリターンでエラーになるのは当たり前なんですよ。コピーができないのがlimited型だから。
ただ、拡張リターンは「コピー無しに値を返せる」わけで、limited型にも使えるのがウリのひとつだった筈。
2006/07/26(水) 12:32:11
GNAT GPL 2006アップデートされてる?
libre2.adacore.comの日付がJul 24, 2006になってるけど
2006/07/30(日) 02:22:56
DLしなおしてみたが、gdbの日付が変わっているだけだった。しょぼん。
2006/07/30(日) 02:58:21
GNAT GPL 2006だとimited withしてもtask typeが見えるようにならないみたいなんだが、
これって仕様通りなのかな?
実験してたらGNAT落ちるし。
package Class_As is
type Hog
2006/07/30(日) 03:00:29
途中でおくちゃった

-- class_as.ads
limited with Class_Bs;
package Class_As is
type Class_A is tagged record
B : access Class_Bs.Class_B;
Foo : access String;
end record;
procedure Hoge(O : in out Class_A);
end Class_As;

-- class_as.adb
with Class_Bs;
package body Class_As is
procedure Hoge(O : in out Class_A) is
begin
O.B := new Class_Bs.Class_B;
end Hoge;
end Class_As;
2006/07/30(日) 03:01:52
-- class_bs.ads
limited with Class_As;
package Class_Bs is
type Class_B is limited private;
private
task type Class_B is
entry Hoge;
end Class_B;
end Class_Bs;

-- class_bs.adb
with Class_As;
package body Class_Bs is
task body Class_B is
begin
accept Hoge;
end Class_B;
end Class_Bs;

task typeが見えないなら1度privateで宣言したらどうなるか実験してたら、
コンパイル中にGNAT落ちるし。
2006/07/30(日) 08:49:23
仕様は知らんがたぶんバグじゃないか?
649デフォルトの名無しさん
垢版 |
2006/08/10(木) 18:58:15
エイダってあのANUBISの?
2006/08/10(木) 21:16:40
>>649
由来は一緒ですがこのスレのAdaと貴方の知るエイダは別物です。
2006/08/16(水) 00:43:24
ほす
652デフォルトの名無しさん
垢版 |
2006/08/29(火) 02:00:40
ほす
2006/09/13(水) 00:53:52
hhoo
2006/10/03(火) 00:37:58
保守〜
2006/10/17(火) 20:08:41
>>650
俺はあのADAが可愛かったからこの言語を勉強し始めたよw
2006/10/17(火) 23:36:19
拡張returnとかinterfaceとか、、、機能に頭がついていけないorz

>>655
俺はAdaを始めてからADAに惚れたんだ。
ZOE3でも彼女が健在でありますように。

/ADA\<コンパイル予測時間90秒
2006/10/30(月) 22:29:21
ほす
2006/11/07(火) 17:14:38
ZOEのエイダ知ってる奴多すぎ。
多分監督は言語にもAdaがあるなんて知らなかったんだろうな・・・。
おっと、そんな事を書いている場合じゃない。
2006/11/07(火) 22:20:20
>>658
絶対知ってる。
2006/11/27(月) 04:15:34
ほす
2006/12/14(木) 23:21:17
適当に保守
662デフォルトの名無しさん
垢版 |
2006/12/15(金) 00:07:45
Adaでシステム構築した強者はいる?
2006/12/15(金) 23:18:13
>>662
米軍
2006/12/16(土) 22:39:18
たしかに強者だな
2007/01/07(日) 23:31:30
今年最初の保守
2007/01/20(土) 23:22:04
ほっしゅ
2007/02/15(木) 22:58:06
一月たちそうだし保守。

AWS使ってる人っていない?
面白そうなんだが、面倒そうでもある。
2007/03/02(金) 20:13:19
いつの間に板移転
正直落ちたかと思った保守
2007/03/17(土) 20:52:26
>>658
亀レスだけど設定だとDelphiって名前のAIもいる
670デフォルトの名無しさん
垢版 |
2007/03/23(金) 10:31:45
日本でエイダ使えるやつっているのかね
2007/04/17(火) 21:01:51
保守
672デフォルトの名無しさん
垢版 |
2007/04/23(月) 17:15:24
いねーよ!!
2007/05/11(金) 18:03:03
AdaCore TOP の GNAT GPL 2007 Edition が
coming soon から Now available になってキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
と思ったら現時刻ではまだ DL できないでやんの…wktk
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況