1 名前:名無しさんは伊達じゃない [02/01/08 21:29] どうよ?
496 名前:デフォルトの名無しさん [05/03/12 18:30:28 ] Ada0Yはどうなったんだ?
497 名前:デフォルトの名無しさん mailto:sage [05/03/12 19:22:01 ] >>496 tp://hp.vector.co.jp/authors/VA028375/ada/ ここお薦め。
498 名前:デフォルトの名無しさん [2005/03/22(火) 00:15:23 ] オブジェクト指向なの?
499 名前:デフォルトの名無しさん [2005/03/27(日) 10:48:07 ] >>1 どうだろうね
500 名前:デフォルトの名無しさん [2005/03/28(月) 15:11:32 ] ada
501 名前:デフォルトの名無しさん mailto:sage [2005/03/30(水) 00:18:38 ] >>498 web.archive.org/web/20020605044428/http://www.tsujiken.ee.kogakuin.ac.jp/jada95.html
502 名前:デフォルトの名無しさん [2005/04/06(水) 13:03:49 ] ?
503 名前:デフォルトの名無しさん mailto:sage [2005/04/18(月) 12:46:28 ] hoshu
504 名前:デフォルトの名無しさん [2005/04/22(金) 17:50:19 ] 使用者が少ないっぽいな
505 名前:デフォルトの名無しさん [2005/04/22(金) 21:45:29 ] 実際の話、この言語で情報システムとか組んだことのある香具師いるのか?
506 名前:デフォルトの名無しさん [2005/04/30(土) 20:39:36 ] ほしゅ
507 名前:デフォルトの名無しさん [2005/05/11(水) 15:45:08 ] 保守
508 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 05:03:14 ] gcc4.0で、無名アクセス型とそれに伴いクロージャ(関数内関数の持ち出し)が使えるようになってるが、祭りじゃないのか?
509 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 08:13:33 ] 現況では、組み込みのリアルタイム処理しかadaを使っておいしいシステムはなさそう。 しかも、ある程度規模が大きいとか、変なCPUとかじゃないと利点も生かせない。(24BitCPUとか) 必要なところでは必要だけど、メジャーにはならんね。
510 名前:デフォルトの名無しさん [2005/05/13(金) 23:07:33 ] win版の統合開発環境はでるのかな?
511 名前:デフォルトの名無しさん mailto:sage [2005/05/13(金) 23:12:43 ] >>510 既に沢山あるようだが、無料のはGPSぐらいしかないな…。
512 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 11:20:50 ] メインステートからexit出来ないのが不便だ SIGTERM受けたときにexit(0)したいんだけど 誰か良い方法知りません?
513 名前:デフォルトの名無しさん mailto:sage [2005/05/14(土) 18:39:44 ] >>512 「メインステート」の意味がよくわからないけど、returnでだめなら例外投げるとか?
514 名前:デフォルトの名無しさん [2005/05/19(木) 14:42:35 ] Ada05
515 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 23:46:19 ] ループを次に進めるような奴は無いんだろうか…? DelphiだとContinueみたいな。
516 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 01:47:31 ] >>515 ラベル付きexitが使えるので、end loopの直前まで飛べばいい。
517 名前:515 mailto:sage [2005/06/05(日) 10:51:50 ] >516 ありがとうございます。 exitがラベル取れなかったので(exit_statement ::=exit [loop_name] [when condition];) gotoに読み替えて、end loop;直前まで飛んで解決しました。
518 名前:デフォルトの名無しさん [2005/06/05(日) 16:54:53 ] おお、技術的な会話をしてるのか
519 名前:516 mailto:sage [2005/06/05(日) 20:01:25 ] あー、悪い。 exitはループ以外の名前やgoto用ラベルは取れなかったっけね。 begin〜endにも名前が付けられるのだから、begin〜endもexitで脱出できていいと思うのだけどなあ。
520 名前:515 mailto:sage [2005/06/08(水) 22:33:42 ] >516 どうせなら、やっぱり全部exitで出れる様に統一して欲しいですよねぇ。 begin...end;を出れるだけでも変わってくるのだけどなぁ。
521 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 00:29:49 ] 常に一回だけ素通りする、loop 〜 exit; end loop; でくくるとか。
522 名前:デフォルトの名無しさん mailto:sage [2005/06/25(土) 22:42:48 ] ほっしゅ。
523 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 22:55:42 ] ほ
524 名前:デフォルトの名無しさん [2005/07/26(火) 09:31:15 ] し
525 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 00:19:45 ] ひ
526 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 22:36:25 ] ゅ
527 名前:デフォルトの名無しさん mailto:sage [2005/07/27(水) 23:34:24 ] OY for 95がインスコできないよorz gnatmakeして置き換えで何故駄目なんだ。。。 それ以上のインストール方法も書いてないし。。。 助けてぇ、エロい人ぉ
528 名前:デフォルトの名無しさん mailto:sage [2005/07/28(木) 15:56:16 ] >>527 gcc 4.0.0以降は、Ada.ContainersもAda.Directoriesも標準装備。
529 名前:デフォルトの名無しさん mailto:sage [2005/07/28(木) 16:20:20 ] ところで、配列の初期化でothers => <>を使ったら、要素数分空ループが生成されているような…。 除去してくれないのかgcc 4.0.1…。 subtype T is String(1..10); S : aliased String := T'(others => <>); なんでこんな書き方してるのかというと、aliasedつけて'Accessで渡そうとすると、初期化されてないってエラー?が出るから…。
530 名前:527 mailto:sage [2005/08/11(木) 22:51:13 ] >528 ありがとうエロイ人! 今までGNAT使ってたけどやっぱgccに乗り換えるよ。 そして亀レスすまん。
531 名前:デフォルトの名無しさん mailto:sage [2005/08/12(金) 09:16:10 ] "GNAT"としてパッケージ化がされてないってだけで、GNATとgccの中のAdaは同じものに思えるのは…気のせいではあるまい。
532 名前:デフォルトの名無しさん [2005/08/15(月) 16:37:09 ] あはは
533 名前:デフォルトの名無しさん mailto:sage [2005/08/29(月) 11:38:04 ] ふと思ったんだけど、windowsで*.dllロードしたいときはどうするんだろう? そのままImportしても出来ないし。。。
534 名前:デフォルトの名無しさん mailto:sage [2005/08/29(月) 20:21:27 ] >>533 libgdi32.aみたいなのをリンクしても駄目? -lgdi32
535 名前:デフォルトの名無しさん mailto:sage [2005/08/30(火) 22:54:04 ] >>534 出来たよ、ありがとう。 つーか、リンカオプションまとめてる所とかないかな。 あの辺がさっぱり解らん。
536 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 20:51:11 ] GNAT GPL 2005パッケージ出たね。 https://libre2.adacore.com/ gcc見る限り多態コンストラクタや拡張returnはまたパッチが出て無いようではあるのだけれど、実装済みなのだろうか? ベースがgcc 3.4.5というのがまた。どうせなら4.0.2ベースに…。
537 名前:デフォルトの名無しさん [2005/09/15(木) 20:51:41 ] えーい、どうせだからあげ、あげ。
538 名前:デフォルトの名無しさん mailto:sage [2005/09/15(木) 21:11:50 ] gccのスナップショット見る限りは、新機能パッチは最新ver(いまだと4.1.0)にしか適用されていないので、3.4.5ベースでAda2005というのはAdaCoreのカスタムなんだろうが…。 ぐだぐだ言ってないで落としてみればいいのだろうが、登録がw
539 名前:デフォルトの名無しさん mailto:sage [2005/10/05(水) 10:00:03 ] STLの元になったAdaのコンテナライブラリってソース出ているの?
540 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 00:27:57 ] >>539 知らないなあ…。 逆にSTLをバックポートしたようなものは幾つか見かけたが。
541 名前:デフォルトの名無しさん mailto:sage [2005/10/11(火) 00:31:31 ] ところで、interfaceへのダウンキャストができないのだが…そういうものなのか? Java-like interfaceなんて言って、そのつもりで使ってると、困るんだが…。
542 名前:デフォルトの名無しさん mailto:age [2005/10/12(水) 14:39:57 ] task内でなくとも select delay xx.x; 〜 then abort 〜 end select; が使えることに驚き。 そんな今日。 ついでにage。
543 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 15:25:17 ] >>542 >>423 exit when なんていう構文をさっぱり綺麗に忘れていた今日この頃。 そしてsage
544 名前:デフォルトの名無しさん mailto:sage [2005/10/12(水) 21:02:30 ] 次スレではタイトル半角希望。 そして次スレとC++0xはどちらが早いだろうか…
545 名前:デフォルトの名無しさん mailto:sage [2005/10/30(日) 13:51:47 ] 保守
546 名前:デフォルトの名無しさん mailto:sage [2005/11/13(日) 10:32:48 ] 保守ついでに <チラシの裏。> 307でgwindowsがMinGWで動かないって書いてあるけど、展開してADA_*_Path通す(”<展開したどこか>\bindings”)だけで此方では一応動いた。 gnatcomも同様。(よくは知らないが) ただ文字列関係がANSIのままなので2k, xpではcoding\*_unicode.ad?で置換した方がよさ気。 私みたいなmeユーザには関係のない話だけど。 </チラシの裏。> ところで、誰かRendez-vons教えてください。 何の事だかさっぱりわからない。
547 名前:デフォルトの名無しさん mailto:sage [2005/11/14(月) 21:00:21 ] >>546 entryで待ち合わせて一時的に合流処理、っぽい。 Javaなんかのsynchronizedとは逆の考え方っぽい。 共有資源に対して直接排他アクセス権をどうこうするのではなく、 共有資源を扱うガイド役のタスクがあって、 そいつがあちこちからの要求に付き添って行動することで 同時にアクセスされないことを保証してる、っぽい。 …間違ってたらすまん。
548 名前:デフォルトの名無しさん [2005/11/17(木) 19:44:08 ] なんでこんな終わった言語をいつまでもGCCはサポートするん?
549 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 23:01:49 ] 終わって無いから。
550 名前:デフォルトの名無しさん mailto:sage [2005/11/18(金) 02:37:35 ] adaの利点って何ですか? 例えばD言語やC++なんかと比べてアドバンテージってある?
551 名前:デフォルトの名無しさん mailto:age [2005/11/18(金) 23:05:01 ] アドバンテージが必要か?
552 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 01:35:43 ] >>550 おもいっきし書くのが面倒くさくて しかもコンパイラが厳しすぎること。 いや、マジで。
553 名前:デフォルトの名無しさん mailto:sage [2005/11/19(土) 12:35:19 ] >>552 つまりアフォには書けない ⇒ バグが減る、ウマー ってことか。(w
554 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:16:04 ] …Σ (゚Д゚;)さてはお前、頭いいな。 Adaでアドバンテージと言えば、並行処理を挙げないと。
555 名前:デフォルトの名無しさん mailto:age [2005/11/20(日) 01:18:06 ] sourceforge.netにAda関連のプロジェクトがあるね 2005年になってから増えたようだ コンテナライブラリもいろいろあるようだが皆使ってる? Booch Componentsなんてどうよ?
556 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 19:08:11 ] >>553 俺のようなアフォでも苦労してコンパイルが通る頃には なかなかバグの無いコードになってるところとかな。 Adaにしかないような機能はいっぱいあるけど アドバンテージとするなら「コンパイラの厳しさ」が勝ると思う。
557 名前:デフォルトの名無しさん mailto:age [2005/11/21(月) 20:45:56 ] コンパイルといえば GCC3.4.2でコンパイルしたら実行ファイルのサイズが202KBだったんだが GCC4.0.1でコンパイルしたら29KBになってワロス 何もオプション変えてないのにな 素敵コンパイラ(´∀`)
558 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 20:59:33 ] ・何かの拍子でデバッグシンボルを削除した ・知らないうちにlibgnat-4.0.dllを使うようになってる どっちかじゃないか?
559 名前:デフォルトの名無しさん mailto:sage [2005/11/21(月) 21:02:48 ] >>555 コンテナは標準のAda.Containersができたから、 STLで言うところのalgorithmを共通化するためには 関数のシグネチャ(Adaなんで命名規則は違ってていい)が Ada.Containersと互換じゃないと…。 Ada.Containersも微妙に肥大だったり小回りが利かなかったりするんで 互換の軽量コンテナがあればいいんだが。
560 名前:デフォルトの名無しさん mailto:age [2005/11/21(月) 22:20:39 ] >>558 > ・知らないうちにlibgnat-4.0.dllを使うようになってる ディストリビューションごと変えた(だけな)んで多分こっちだワ lddで見てみたらリンクしてた
561 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 18:44:12 ] declare torf:boolean:=false; begin put_line(torf'img); torf:=boolean'value("true"); end; ↑これが通ってちゃんと動く さらにAdaのboolean型は列挙型であるため ユーザー定義の列挙型でも可能 他にこれができる言語ってある?
562 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 20:39:28 ] program testBool; var torf: boolean; begin torf := false; writeln(torf); readstring('true', torf); writeln(torf); end. program testEnum; type userEnum = (melon, apple, orange); var userEnumV: userEnum; begin userEnumV := melon; writeln(userEnumV); readstring('apple', userEnumV); writeln(userEnumV); end.
563 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 21:26:01 ] PascalはRead/Writeで列挙型が入出力できる。文字列とのスマートな変換は無かったと思う。DelphiならRTTIで可能。 あとはJavaだのC#だのVM系はできて当然なんじゃないかな? でもAdaのが一番手軽で便利っぽい。
564 名前:デフォルトの名無しさん mailto:sage [2005/12/01(木) 21:28:15 ] …ていうか562はPascalか…処理系によってはあるのかもなあ。 Delphiのリファレンスには562の使い方のReadStringは無かった。
565 名前:デフォルトの名無しさん mailto:sage [2005/12/02(金) 08:04:35 ] JDK1.5 enum Foobar { FOO, BAR, BAZ } class FoobarSample { public static void main(String[] a) { boolean b = Boolean.valueOf("true"); System.out.println(b); Foobar fb = Foobar.valueOf("FOO"); System.out.println(fb); } 最近のスクリプト系の言語だと連想配列(ハッシュ)使うかな?
566 名前:デフォルトの名無しさん mailto:sage [2005/12/03(土) 20:48:42 ] これどうですか? Ada―移植性とプログラミング・スタイル ttp://www.amazon.co.jp/exec/obidos/ASIN/4764901579/503-1051603-3695108
567 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 00:43:52 ] 1989年かー。 Ada2005どころかAda95もまだだなー。 でもAdaは他の言語と違って、言語の底にある考え方を理解して無いと、何もできないっぽい(←うけうり)ので、今も売られてる本があるだけマシか…?
568 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 02:56:04 ] レオン:エイダ〜 エイダ:レオ〜ン シェリー:うぅ・・・ エイダ:Gウィルスが・・・ レオン:エイダ〜 G最終形態:グチャグチャ 自爆シークエンス:あぼ〜ん
569 名前:デフォルトの名無しさん [2005/12/04(日) 03:19:06 ] AdaでOracleにアクセスできる処理系ってありますか? AdaでWebアプリケーションを作成することはできますか?
570 名前:デフォルトの名無しさん mailto:sage [2005/12/04(日) 04:03:14 ] >>569 Webアプリは単にCGIなら標準入出力が扱える言語ならなんでもできるので勿論Adaでも可能。 サーバー向けにgccでクロスコンパイラ作ればいい。 JSPだのASP.NETだのは、JGNATやMGNATでがんばれ。 Oracleは、商用Adaなら普通にバインディングついてくるっぽい。
571 名前:デフォルトの名無しさん mailto:sage [2005/12/05(月) 21:11:19 ] >566 どうだったかなぁ。 お勧めはこれだけど。 www.amazon.co.jp/exec/obidos/ASIN/4781904734/qid=1133784487/sr=1-17/ref=sr_1_2_17/250-5384434-5362614 在庫切れか。
572 名前:デフォルトの名無しさん mailto:sage [2005/12/23(金) 22:25:25 ] h
573 名前:デフォルトの名無しさん [2005/12/28(水) 21:15:15 ] o
574 名前:デフォルトの名無しさん mailto:sage [2005/12/29(木) 06:23:55 ] バグの出にくい言語仕様を考える。 pc8.2ch.net/test/read.cgi/tech/1111747980/ このスレのアイデアの半分ぐらいは既にAdaにあるんだよなあ…。 > そうすると、制約だらけでウザいだけの言語になって、さらに既存の言語の拡張という形はとれなくなるが。 までピッタシカンカンだしなあ…。
575 名前:デフォルトの名無しさん mailto:sage [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
577 名前:デフォルトの名無しさん mailto:sage [2006/02/05(日) 11:33:10 ] すいませんどなたかlimitedが何なのか教えてもらえませんか 一応RM95読んだんですけど生半可な英語力でわかりませんでした
578 名前:デフォルトの名無しさん mailto:sage [2006/02/05(日) 14:43:56 ] >>577 限られた、とか、限定の、とか、限定版、とかそういう意味で、 Adaでの意味は「代入禁止」。
579 名前:デフォルトの名無しさん mailto:sage [2006/02/06(月) 00:43:16 ] なるほど。tnx
580 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 10:30:27 ] 保守するだけじゃなんなので、教えて君。 つか、見てる人何人いるんだろう? とりあえず、Adjustで何をしたらいいのか教えてください。 代入時に呼び出されてるっぽいことはわかるんだけど。 代入直前なのか直後なのか、引数は代入される側なのかする側なのか、とか。
581 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 11:47:22 ] このスレの誰か入門書を書いてくれー。
582 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 13:08:30 ] 「RM嫁」とか、「とりあえずそれっぽいの書いて、コンパイルエラーを消してけ」としか。 RMは非常に読みにくいが、コンパイルエラーは親切。 「初心者の初心者による入門書」なら書けるけど、、、読んでも得るもの少ないよ?
583 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 20:35:12 ] >>580 oopweb.com ttp://oopweb.com/Ada/Documents/AdaLinux/VolumeFrames.html?/Ada/Documents/AdaLinux/Volume/book.html とかどうだ。 コピーコンストラクタのようなものと書かれてはいるが
584 名前:デフォルトの名無しさん mailto:sage [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で二重解放になってしまう。
585 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 22:04:25 ] なるほど、「複製」ではなく「調整」か
586 名前:580 mailto:sage [2006/02/14(火) 23:33:15 ] >>583-584 ありがとう! とりあえず代入の際の補助と理解しといた。
587 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 01:14:38 ] >>581 切実
588 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 23:44:59 ] amazonあたりでAdaの洋書を買おうとか思うんだがお薦めある?
589 名前:デフォルトの名無しさん mailto:sage [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が理解できた。
593 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 11:11:36 ] そろそろ保守
594 名前:デフォルトの名無しさん [2006/03/28(火) 04:30:58 ] ほす
595 名前:デフォルトの名無しさん mailto:sage [2006/04/06(木) 05:04:02 ] AdaってGPLなんだよね それさえなければな
596 名前:デフォルトの名無しさん mailto:sage [2006/04/06(木) 08:17:58 ] GNATがGPLなだけで、他の有償コンパイラはあるけど? ちょっと検索すれば一杯出てくる。IBMとかも出してるし。