タグ

ブックマーク / sumim.hatenablog.com (2)

  • オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です

    忙しい人のためのまとめ 一般に「オブジェクト指向プログラミング」と呼ばれる考え方には発案者が異なる二系統がある。(ただし簡単のため、次のうち前者から批判的に派生して生じたプロトタイプベースのオブジェクト指向はここには含めていない) アラン・ケイによる、変化に強い長期運用可能な遅延結合システムを SIMULA67 にあった「オブジェクト」をメッセージの受け手とすることで実現(オブジェクトにメッセージ送信)するアイデアに基づく「メッセージングのオブジェクト指向」と、 ビアルネ・ストラウストラップ(前後して抽象データ型を発案したリスコフ人、オブジェクトクラスを考えたニガードらSIMULA陣営、Eiffelのメイヤーらも同様の着想を得ている)による、ユーザー定義型(抽象データ型)を SIMULA67 にあった「クラス」という言語機能を使って実現(カプセル化、継承、多態性)するアイデアに基づく「抽

    オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です
  • Squeak Smalltalk で、Python と Haskell のに触発された FizzBuzz - Smalltalkのtは小文字です

    ときどきの雑記帖 リターンズ - HaskellでFizz(ry 経由で、Python の repeat を使った odz buffer - FizzBuzz、Haskell の cycle を使った版とまあ似ていなくもないかな…と思った Squeak Smalltalk の #atWrap: を使った版。 (1 to: 100) collect: [:n | | fzbzStr | fzbzStr := (#('' '' Fizz) atWrap: n), (#('' '' '' '' Buzz) atWrap: n). fzbzStr ifEmpty: [n] ifNotEmpty: [fzbzStr]] Ruby だと、#if_empty を空文字列でないときレシーバを返すように特殊化して(Ruby はブロックを二つ以上とることを捨てているので…)、おおよそこんな感じ。 class

    Squeak Smalltalk で、Python と Haskell のに触発された FizzBuzz - Smalltalkのtは小文字です
  • 1