タグ

OOPに関するtaninswのブックマーク (8)

  • ミュンヘンで開催されたOOP 2011の講演内容

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    ミュンヘンで開催されたOOP 2011の講演内容
  • プロトタイプベースの誤解 - Smalltalkのtは小文字です

    クラスベースのOOとプロトタイプベースのOOで決定的に違うのは、プログラムを動かしている最中にオブジェクトが出来ること、すなわちメソッド(method)を追加したり再定義したりできるかだ。 404 Blog Not Found:タイプ・クラス・プロトタイプ - OOの語彙 これはひどい。w オブジェクトに対して動的(実行時)にメソッドやインスタンス変数を追加できることと、“プロトタイプベース”においてオブジェクトがそれが属するクラスによらず独自のメソッドやインスタンス変数を持てることとは別の話です。 あらためて、「プロトタイプベース」という用語自体に問題が多いことを実感させられる記事でもありますね。個人的には、クラスを用いないオブジェクト生成手法の話でないのならば(つまり、「プロトタイプの複製でオブジェクトを生成する」ことが話の筋でないならば)「プロトタイプベース」ではなく、「インスタン

    プロトタイプベースの誤解 - Smalltalkのtは小文字です
  • データベース正規化・非正規化 - ronSpace

    データ・モデリングの普及団体,DOA+コンソーシアムはこのほど,リレーショナル・データベース管理システム(RDBMS)の処理性能に関する実証試験を行い,調査結果を公開した。「データを正規化してデータベースに実装すると,処理性能が低下する」という"誤解"を正すため,実証実験を行ったという。 「DBを正規化すると遅くなる」は誤解,実証実験の結果が公開に (ITpro) 正規化(非正規化)すると早く(遅く)なる、という命題の立て方はどうかと思うのですけどね。 実証実験の結果,データベース上の単一テーブルを対象に検索した場合,いずれのパターンも2〜3ミリ秒で処理を終えた。一方,3つ程度のテーブルにわたりデータを検索した場合,正規化したパターンでは,5000万件のデータを90ミリ秒で検索できた。だが,非正規化したパターンでは,500万件のデータ検索に14秒かかった。 テーブルを非正規化したい理由とし

    データベース正規化・非正規化 - ronSpace
  • なんで多重継承はそんなに嫌われるのか? ちょっくら分析してみるか - 檜山正幸のキマイラ飼育記 (はてなBlog)

    多重継承を嫌う人は多いですよね。「複雑だからダメだ」ってことらしい。でも、「複雑=ダメ」はちょっと乱暴。必然性/必要性がある複雑さなら、それは受け入れざるをえないのですから。それに、どの程度の複雑さなのか、その複雑さはどこから来るのかを知らないと「ダメ」かどうかの判断はできないと思います。 という次第で、多重継承の複雑さを調べてみます。ダメかどうかの判断は僕はしません。圏論の道具を使うのだけど、事前の知識は一切不要です(最後の節を除いて)。最後にまとめて圏論的な解釈をしますが、ここは省略可能。 内容: クラスとその例 多重継承は集約と単純継承の組み合わせ 嫌われる理由 1:名前のバッティング 嫌われる理由 2:ダイアモンド継承 ダイアモンド継承の対処 とりあえずのまとめ 圏論からのアプローチと整理 クラスとその例 多重継承の話をするので、もちろんクラス概念は仮定します。でも、複雑さの話を複

    なんで多重継承はそんなに嫌われるのか? ちょっくら分析してみるか - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Alice:3Dアニメーションを作成しながらOOPを学ぶ | OSDN Magazine

    大学でコンピュータ科学を学ぶ学生の多くは、C++Javaなどのプログラミング言語を学び始める際に難しいと感じる。その主な理由の一つはLOGOなどの単純な中等教育向けの言語と、より高度なOOP(オブジェクト指向プログラミング)言語との間に大きな隔たりがあるためだ。そこでその隙間を埋めるためにCMU(カーネギーメロン大学)の研究者たちがAliceを開発した。Aliceは、3Dモデルを使用してコンピュータアニメーションを作成するOOP言語だ。 Randy Pausch氏率いるCMUの研究者チームがコンピュータ科学を学ぶ学生向けのC++Javaの様々な入門用教科書を調べたところ、条件分岐、ループ、再帰、関数/メソッド、コレクション(たいていは配列だがリストのこともある)、オブジェクト、継承、カプセル化、ポリモルフィズムなど、説明が不可欠である概念がいくつかあることがわかった。Aliceでは、学

    Alice:3Dアニメーションを作成しながらOOPを学ぶ | OSDN Magazine
    taninsw
    taninsw 2008/01/16
    おもしろそう
  • Smalltalk や C++ は何も発明していない。発明したのはケイやストラウストラップ。 - Smalltalkのtは小文字です

    第1回 サルでも分かるプログラミング言語の新潮流【前篇】の図中の 1969 年の Smalltalk というのはご愛敬として…(おそらく、FLEX システムあたりと取り違えられたのでしょう。自他共に認める言語オタクだけあって間違い方としては渋いですね(^_^;)) 気になったのは次ページのこちら、 しかし、オブジェクト指向という概念そのものは、Smalltalkによって発明されたものではありません。その概念は、1960年代後半スウェーデンのクリステン・ニガルド(Kristen Nygaard)らによってSimula言語に導入されたものです。当時は「オブジェクト指向」という単語はまだありませんでしたが、クラスや継承などオブジェクト指向プログラミングにとって重要なアイデアはSimulaにおいてすでに実現されていました。 ビアルネ・ストラウストラップ(Bjarne Stroustrup)によるC

    Smalltalk や C++ は何も発明していない。発明したのはケイやストラウストラップ。 - Smalltalkのtは小文字です
  • オブジェクト指向、本当に分かってる? ― @IT自分戦略研究所

    前回「Javaの世界、イメージできる?」では、Javaの学習をスタートするための助走という意味合いで、Javaの世界とJavaプログラミングの開発手順を紹介しました。今回はプログラミング技法の側面を掘り下げて、Javaプログラミングの中核である「オブジェクト指向」を見ていきましょう。 Javaの基的な技術が身に付いたところで必ず乗り越えなければならない「Javaの壁」があるとすれば、それがオブジェクト指向です(稿では基的な言語仕様に関する詳細は紹介しませんので、ぜひ十分に独習をしていただきたいと思います)。 オブジェクト指向は非常に奥が深い概念ですので、一朝一夕に理解できるものではありません。ここでは、Javaプログラミング学習におけるオブジェクト指向の理解を促進することを目標として、ベースになる知識を押さえていきます。 オブジェクト指向とは 前回のプログラムを振り返る オブジェクト

    オブジェクト指向、本当に分かってる? ― @IT自分戦略研究所
    taninsw
    taninsw 2006/07/25
    害悪
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    taninsw
    taninsw 2006/06/03
    制約重要
  • 1