タグ

ブックマーク / minekoa.hatenadiary.org (4)

  • OOとはなにか - みねこあ

    自分の中でひっかがりを感じることを整理するため、なんとなく、こんな図を書いてみて、それからそれに文章を付けてみます。 マルが OOPやOOの名前、四角がそれを構成する要素・・・みたいな感じの適当な図です。また、赤の四角がプログラムの構造についての考え方、青の四角が型チェックについての考え方。用語や関係は適当です。(ご容赦) クラスには「型」と「モジュール」の、二つのとらえ方があります。メイヤー先生の「オブジェクト指向入門」から(artonさんをパクって)引用すると、 繰り返しになるが、クラスを型と見るか、またはモジュールと見るかによってすべては決まる。型として見る場合、継承はis-a(……は……の一種である)という関係であり、明らかに特殊化である。"犬"は"動物"よりも特殊な概念であり、"長方形"は"多角形"よりも特殊化されている。この関係はすでに述べた部分集合の関係に対応する。(中略)

    OOとはなにか - みねこあ
    advblog
    advblog 2019/01/02
  • 作りながら覚えるGit (1) - みねこあ

    濱野さんの「入門Git」を初めて読んだ時、いきなり 第二章から Git の構造の説明を始めてしまう構成に「Git<の使い方>入門」じゃなくて「Git<の作り方>入門」でしたかーっ(さすがメンテナですね)、、と思ったことを覚えています。 入門Git 作者: 濱野純(Junio C Hamano)出版社/メーカー: 秀和システム発売日: 2009/09/24メディア: 単行購入: 31人 クリック: 736回この商品を含むブログ (155件) を見る それは結構楽しい体験で、それまで全く思っても見なかった「Git作ってみたいな」という うずうずとした衝動がわたしに芽生えるきっかけでした。それ程に Git の設計はシンプルで 手に終えそうで、それでいて「うまくいく仕組み」が備わっている、興味深いものだったのです。まさにハックと呼ぶにふさわしいそれは、VCS全般に抱いていた「しっかり綿密に作りこ

    作りながら覚えるGit (1) - みねこあ
    advblog
    advblog 2014/06/08
  • デバッグという基礎素養 - みねこあ

    経験の浅いプログラマーがデバッグにてこずってるのって、 これと似ていて、 むやみやたらにクリックするのだけど、 自分の知ってるパターンに収束させることができない、みたいな。 これについては、経験を積めば、 自分の知ってるパターンが増えてきて、 バグだ、と思ったときには既に自分の知ってるパターンだから直せる、とか、 ちょっと試行錯誤すればパターンに落とし込めるとか、 そうなるんじゃないかな、と。 経験の浅いプログラマーがデバッグできない理由 については、コンパイラの吐くエラーが実は直接的が原因を示していない、とか、そういうレベルの話では実感だな、って思います。 「そうそう、コンパイラがこんなこと言うときは実際にはあんな事が起きてるんですよ」みたいな知識データベース。そしてコンパイラが検出出来ないタイプのバグについても、現象に「あれ?、どこかでみたぞ、これ」となる。そういう「良くあるパターン」

    デバッグという基礎素養 - みねこあ
    advblog
    advblog 2009/07/25
  • 現実の構造を分析し、それをプログラムの構造にそのまま写すのが何故いけないか - みねこあ

    わたしの以前のエントリー中の 例えば、カモノハシ の5章では、エイトクイーンパズルを解いていますが、これは Queen オブジェクト自体に「取られない位置に進む」「この位置を自分が攻撃できるか?を答える」という責務を持たせる Queen を各列に一づつ置く 端から順にQueen に「取られない位置に進め」をさせる。 という解き方をしています。各Queen は自らの位置の解を自ら解きます。 (中略) Board というオブジェクトは必ずしも必要ないですし、連結リストの一番端には現実には存在しない「番兵」を置く場合もあります。なによりも、Queen の駒が現実で勝手に自分の攻撃されない位置を求めて動くなんてありません。(そんなチェス盤を開発してくれ、という要件ではないのです) つまり、これは現実の写像ではありません。でも良いデザインです。 憂レビューの補足 - みねこあ について、わから

    現実の構造を分析し、それをプログラムの構造にそのまま写すのが何故いけないか - みねこあ
    advblog
    advblog 2009/04/26
  • 1