タグ

oopに関するnfunatoのブックマーク (6)

  • structure-vs-class

    Structure vs Class, case in Common Lisp. Metanote. 対象読者。 Common Lisp初心者。 長文ですのでお暇な時に。 Introduction Common Lispにはユーザが定義できる合成型として構造体とクラスの2種がサポートされている。 これはしばしば初心者をして「どちらを使えばいいのか」疑問に思わせることとなる。 もちろん2種サポートされているのは各々に違いがあるからなのだが、初心者には違いが伝わりにくかろう。 ここにまとめておく。 定義フォーム 1スロットしか持たない最小の定義を考える。 ; structure (defstruct struct slot) ; class (defclass my-class()(slot)) フォーム(syntax)は大差無いがセマンティクスは大きくことなる。 構造体はこのフォームだけで、

  • オブジェクト指向の問題点 - ビスケットのあれこれ

    オブジェクト指向プログラミングを神格化するような記事が流れてきたので,僕が知っている問題点について書いてみたいと思います.僕がまだ学生だったころは,オブジェクト指向の評価もまだそれほど定まっていなくて,オブジェクト指向の次はどんなパラダイムが出てくるかとか普通に学生レベルで議論していたものですが,ここまで強大になってしまうとそれを打ち負かそうなんて気にはならないのでしょうか.僕にはオブジェクト指向が普遍的な真理という感じは全然しなくて,ここまで使われてる理由は,現実的なテクノロジーで大きなシステムを作らなければならない必要性のほうを優先した結果であると認識しています.オブジェクト指向がその後の25年ほどもずっと安定してその地位を保てるほど素晴らしいものとは思えないのです. 以下で上げる問題点は,個別に解決している研究はあったりしますし,僕も論文を書いたりしましたけど,実際の言語に導入されて

    オブジェクト指向の問題点 - ビスケットのあれこれ
  • Dialogue's Guiding Principles, or a Healthy Hatred of OOP

    Dialogue is a framework for Lua5.2. It is an intersection of the Actor Model and an Entity Component System with a way to scope messages so that Actors may talk to one another. The project was started because of a strong dislike for conventional object-oriented programming (OOP) principles. Objects just aren't supposed to be reaching into each other with 'getters' and 'setters' and messing with in

  • 『Programming Windows 8 Apps』 の第1章を翻訳しました - Windows 開発統括部 Blog - Site Home - MSDN Blogs

    In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

    『Programming Windows 8 Apps』 の第1章を翻訳しました - Windows 開発統括部 Blog - Site Home - MSDN Blogs
    nfunato
    nfunato 2013/05/04
  • メソッド解決順序(MRO)

    多重継承が利用可能な言語では、メソッドを探索するときのベースクラスを探索する順序を、メソッド解決順序(MRO)と呼んでいる。Pythonではメソッドだけではなく、属性の探索でもこれが利用される。単一継承しかサポートしていない言語では、MROはとてもつまらない話題であるが、多重継承の場合には必要となってきて、MROアルゴリズムの選択が極めて難しい問題となりうる。Pythonでは、クラシック、Python 2.2の新スタイル、Python 2.3の新スタイル(C3とも呼ばれる)の3種類のMROアルゴリズムを持っていることが知られている。Python 3では、最後のアルゴリズムだけが生き残っている。 旧スタイルクラスはシンプルなMROの方式を利用していた。メソッドを探す場合には、シンプルに深さ優先探索を行って、ベースクラスの中で最初にマッチしたオブジェクトが返される。例えば、次のようなクラス構造

  • Private Site

    Build a website. Sell your stuff. Write a blog. And so much more.

    Private Site
  • 1