タグ

ブックマーク / www.kmonos.net (5)

  • 契約プログラミング - プログラミング言語 D (日本語訳)

    "契約" は、大きなプロジェクトのプログラミングの手間を減らす、 画期的な技術です。契約は、事前条件・事後条件・エラー・不変条件、 からなる概念です。 C++でも言語の変更無しに契約は実現できますが、 扱いにくく、 一貫性のないものになります。 言語レベルで契約のサポートを組み込むことには、こんな利点があります: 契約の記述の一貫性 ツールのサポート 契約の記述に基づく、 コンパイラによるよりよいコード生成 契約の管理や強制の簡単化 契約の継承 "契約"は、考え方は簡単で、常にtrueにならなくてはいけない式、のことです。 trueでなければ契約が破られていて、つまり定義から、プログラムにバグがあることがわかります。 契約はプログラムの仕様の一部分で、それをドキュメントではなくコード自身に書くようにした、 とも言えます。プログラマの皆さんはご存じのように、ドキュメントというのは不完全で、

    hitode909
    hitode909 2013/01/26
  • 例外安全 - プログラミング言語 D (日本語訳)

    例外安全なプログラミングとは、 例外を投げる可能性があるコードが実際に例外を投げた場合に、 プログラムの状態が壊れずリソースもリークしないように作るプログラミングのことを言います。 これを正しく実現するには、既存の方法では、複雑で読みにくく脆いコード を書かねばなりませんでした。結果として、例外安全性に関して バグが残っていることが非常に多かったり、そもそも手間を省くために 例外安全が完全に無視されたりしてきました。 例として、数行の文を実行するあいだMutexをロックして、 終わったら解放するというケースを考えてみましょう: void abc() { Mutex m = new Mutex; lock(m); // mutexをロック foo(); // 処理を行う unlock(m); // mutexをアンロック } >foo() が例外を投げると、abc() は例外による巻き戻しで

    hitode909
    hitode909 2010/11/16
  • 未来の国のアリス - d.y.d.

    23:41 10/05/27 mm.exe いつものようにチェスでもするかと、 Windows Vista のスタートメニューの「ゲーム」フォルダを開いてみると Stream: Dark Messiah Might and Magic :Single Player という見知らぬタイトルのアイコンが転がっていました。 こんなゲーム入れた覚えないので、 これはゲームの振りして起動させようとするトロイの木馬か何か入れてしまったか…と青くなりながら調べてみると、 こんな2chでの書き込みが引っかかりました。 【DMMM】 Dark Messiah of Might and Magic その7 147 :UnnamedPlayer:2010/05/23(日) 01:37:15 ID:V/DFzC7D 先ほど知らないうちにWindows 7 (64bit)のゲームフォルダに Stream: Dark

    hitode909
    hitode909 2010/05/29
  • 関数と正規表現と私 - d.y.d.

    00:46 10/04/23 EDBT/ICDT 2010 先月 EDBT/ICDT 2010 という学会に行ってきたのですが、それについて何も書いてなかったので今頃書きます。 自分より一ヶ月後に同じローザンヌに行って噴火に巻き込まれて帰国まで延びてしまっているみずしまさんがお帰りになるよりは早く書かないと的気分がなきにしもあらずです。 データベースの会議なんですが、 こちらの分野は SIGMOD/PODS の流れで、 実装寄りの会議と理論よりの会議を合わせて共同開催するブームらしい。 参加者としては、色んな幅広いトークが聴けるのは単純に楽しいので、もっと広まると面白そうだなあと感じました。 プログラミング言語で言うと PLDI/POPL とするみたいなものでしょうか。 それが良いかどうか判断できるほどPLDIの方の雰囲気を知らないのでわかりませんが。 オートマトン方面だと CIAA/DL

    hitode909
    hitode909 2010/04/18
  • d.y.d. - 最短性をチェックする

    17:31 10/01/26 言語雑談会 言語雑談会 なるものに行ってきました。 自分は主に最近のD言語の話題 [PDF] [PPTX] についてと、 最近読んだ Pattern Calculus がイマイチ心に響かなかったという話と、 これも最近読んだ Prolog で SAT ソルバ という論文が格好良すぎて卒倒しそうです、などの話題を雑談していました。 SAT の話をしていてふと突然気づいたんですが、私が今までSATソルバに落としてみたことのある問題は、 すべて割と簡単に CNF(SATソルバがそのままべてくれる綺麗な形式の論理式) ができあがる問題だったようです、数独とか。 任意の命題論理式をCNFに変換できる指数爆発しない方法をそういえば知らないぞ俺!としゃべってたら soutaro さんが素晴らしい解説 をして下さいました。ありがたや。 あと shinhさんの 「コンピュータ

    hitode909
    hitode909 2010/01/15
    おもしろい
  • 1