1 名前:名無しさんは伊達じゃない [02/01/08 21:29] どうよ?
465 名前:デフォルトの名無しさん mailto:sage [04/11/26 18:02:13] ADAはたぶん埋もれる言語の一つだと思う。
466 名前:デフォルトの名無しさん [04/11/26 22:27:30] >>465 このスレがそのことを暗示しているような…
467 名前:デフォルトの名無しさん [04/11/30 18:21:01]
468 名前:はるな [04/11/30 19:30:11] 作り方分かりますか? コンピュータが 0から 9までの数を 4つ, 順序付きで重複なく選ぶとする. プレイヤ(人間)は, この数列を当てるのだが, はずれた場合に提示されるヒントは次の通り. 正解の n番目の数を n番目に解答していれば, Hit と呼ぶ. Hit の個数がヒントとして提示される. 正解の n番目の数を m番目(n≠m)に解答していれば, Blow と呼ぶ. Blow の個数がヒントとして提示される.
469 名前:作ってみたその1 mailto:sage [04/12/01 00:02:43] with Ada.Numerics.Discrete_Random,Ada.Text_Io,Ada.Integer_Text_Io,Ada.Calendar; use Ada.Text_Io,Ada.Integer_Text_Io,Ada.Calendar; procedure game Is package R Is New Ada.Numerics.Discrete_Random(natural); use R; type Four_Array is array(1..4)of Integer; function Generate Return Integer is seed:Generator; begin Reset(seed,Integer(Seconds(Clock)*100)); return Random(Seed) mod 10; end Generate; function Search(Target:Four_array;Seed:In Integer) Return integer Is begin for I in 1..4 loop if Target(I) = Seed then return i; end if; end loop; return 0; end Search; procedure Initialize(computer:In out Four_array) is begin for I in 1..4 loop computer(I):=-1; end loop; end initialize;
470 名前:作ってみたその2/3 mailto:sage [04/12/01 00:08:55] procedure Decide(computer:in out Four_array) Is int:Integer; begin Initialize(Computer); for I in 1..4 Loop loop Int:=Generate;exit when Search(computer,Int) = 0; end loop; Computer(I):=Int;delay 0.01; end loop; end Decide; procedure Read(Player:in out Four_array) is int,Index:Integer:=1;Char:character; begin while Index <= 4 Loop Get_Immediate(char); case Char is when '0'..'9' => Int:=Character'Pos(char)-16#30#; if Search(Player,int) /= 0 then New_Line;Put_Line("その値はもう使えません"); for I in 1..Index-1 loop Put(Character'Val(Player(i)+16#30#)); end loop; else Put(char);Player(index):=int;Index:=Index+1; end if; when others => New_Line;Put_Line("0から9までの数値を入れてください"); for I in 1..Index-1 Loop Put(Character'Val(Player(I)+16#30#)); end loop; end case; end loop; end Read;
471 名前:作ってみたその3/3 mailto:sage [04/12/01 00:09:44] function Compare(computer,Player:in Four_array) return Boolean is Hit_Count:Integer:=0; Blow_Count:Integer:=0; Search_Result:integer; begin for I In 1..4 Loop Search_Result:=Search(Computer,Player(i)); if Search_Result = I Then Hit_Count:=Hit_Count+1; elsif Search_result /= 0 then Blow_Count:=Blow_Count+1; end if; end loop; New_Line; Put_Line("Hit : "&Integer'Image(Hit_count)); Put_Line("Blow : "&Integer'Image(Blow_count)); if Hit_Count = 4 then return True; end if; return False; end Compare; computer,player:Four_Array; begin Decide(computer); loop Initialize(player); Read(Player); exit when Compare(computer,Player); end loop; end game;
472 名前:作ってみた人 mailto:sage [04/12/01 00:11:01] ここって改行いくつまで...? まぁもっとうまいひとが書けばもっと短くなるだろうが。
473 名前:デフォルトの名無しさん [04/12/05 00:06:46] ?
474 名前:デフォルトの名無しさん [04/12/05 01:10:19] >>24 > あの設計者は、懲役3年執行猶予2年くらいには相当するね。 執行猶予のほうが短いなんて…
475 名前:デフォルトの名無しさん mailto:sage [04/12/05 01:11:05] >>29 ぬるぽ
476 名前:デフォルトの名無しさん [04/12/07 23:52:55] >>465 embedded?
477 名前:デフォルトの名無しさん [04/12/09 13:30:08] >>475 ガッ!
478 名前:デフォルトの名無しさん [04/12/10 18:33:23] (;´Д`)ハァハァ
479 名前:デフォルトの名無しさん mailto:sage [04/12/20 00:05:18] Adaって今更な感じもあってか、書籍やWebページが少ないね。 特に書籍にいたっては絶版になっているのか入手がむずい。 みなさんはどうやって情報を得てるんですか?
480 名前:デフォルトの名無しさん mailto:sage [04/12/20 02:32:29] RM読む
481 名前:デフォルトの名無しさん mailto:sage [04/12/22 01:01:37] A#+DirectXとかやったひといないのかな
482 名前:デフォルトの名無しさん [04/12/25 23:42:24] >>481 そんなのがあるのか、知らなかったよ。
483 名前:デフォルトの名無しさん [04/12/30 19:03:17] (;´д`)ハァハァ (;´Д`)ハァハァ (;゜Д゚ )ハァッハァッ :.` ;:.・∵ ゚ д:.`
484 名前:デフォルトの名無しさん [04/12/31 21:59:02] すでにこれまでに話題なってそうな質問です。恐縮。 Adaが突然実装できなくなるとどんな飛行機が落っこちますか。
485 名前:あーげあし〜 mailto:sage [05/01/04 12:15:24] ? 工場から出荷できないんじゃない? 既に稼動してるのは落ちないと思うし。
486 名前:デフォルトの名無しさん mailto:sage [05/01/22 02:06:43 ] 保守〜
487 名前:デフォルトの名無しさん mailto:sage [05/01/22 02:21:50 ] Mingw入れたら必要ないのに付いてきた。
488 名前:デフォルトの名無しさん [05/01/23 02:29:04 ] >>446 こないだタイタンに着地したホイヘンスも、Adaらしい。 www.crn.vnunet.com/analysis/1157756
489 名前:デフォルトの名無しさん [05/01/23 08:48:22 ] LogicaCMG designed the Huygens software using the hierarchical object-oriented design (Hood) method and then developed it in Ada 83, a general-purpose programming language developed by the US Department of Defence to help software designers develop large, reliable applications.
490 名前:デフォルトの名無しさん mailto:sage [05/01/23 18:16:57 ] Nida
491 名前:デフォルトの名無しさん mailto:sage [05/01/30 22:52:20 ] 英語力不足でLovelaceがPut_Line("Hello, world!");から先に進めませんorz 現在のAda力も同レベル・・・日本語文献が欲しい…
492 名前:デフォルトの名無しさん [05/02/04 18:16:23 ] >>491 古いやつならあるぞ。
493 名前:デフォルトの名無しさん mailto:sage [05/02/24 22:43:48 ] ほっしゅ。
494 名前:デフォルトの名無しさん [05/03/03 14:31:19 ] 保守
495 名前:デフォルトの名無しさん [05/03/03 14:56:31 ] 国防総省がAda作った背景何て言うんだっけ? 言語の統一の必要性の方じゃなくて、 プログラマが足りなくなるって事象を。 ソフトウェア危機だっけ? それに対する回答が言語の統一だったような。
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); } 最近のスクリプト系の言語だと連想配列(ハッシュ)使うかな?