OOP
久しぶりに DCI がらみで BabyIDE にヒントがあるかもしれないな…と思われる話題に接したのを機に、以前遊んでみた BabyIDE のその後を調べてみたところ、引き続き Squeak3.10.2 上で開発が続けられている BabyIDE-2018.07.31.ZIP というのを発見して驚きま…
なぜか Ruby インタプリタ開発者が翻訳をしたことで話題の『プログラミング Elixir』 p.167 にある「14.2 プロセスのオーバヘッド」のサンプルコード https://media.pragprog.com/titles/elixir12/code/spawn/chain.ex これと似たようなことを Ruby の軽量ス…
引数を評価する(carをevalしていく)ときにatomとして使っているSmalltalkのデータ全てがevalメッセージを理解 http://phaendal.hatenablog.com/entry/2015/04/17/164825 名詞とか動詞とか宣言的とかは難しくてよく分からないのですが(をゐ)、このアイデア…
BabyIDE については元エントリーのこちらの長い前振りを参照してください。 DCI パラダイムの提唱者、レインスカウ氏の BabyIDE で遊ぶ - Smalltalkのtは小文字です さらに比較的新しいバージョンの BabyIDE を念頭に、インストールの仕方からコードや操作の…
BabyIDE は、古くは MVC(Model-View-Controller)、近年では DCI(Data-Context-Interaction)というパラダイムの提唱者として知られるトリグヴ・レインスカウ(Trygve Reenskaug)氏自らが手がける Squeak Smalltalk ベースの DCI 向けプログラミング&モ…
似たような話の繰り返しで恐縮ですが、現時点での自分の理解の整理のためのメモ。前後しますが、こうして改めてまとめてみると、純粋な抽象データ型のオブジェクト指向プログラミングは、メッセージングのオブジェクト指向の影響も多分に受けている OOAD(分…
UPDATE!!: id:propella さんがすばらしい翻訳を公開してくださいましたので、そちらをどうぞ 「ソフトウェア工学」は矛盾語法か? "-- -- -- -- -- -- -- -- -- -- -- -- -- --" Is "Software Engineering" an Oxymoron? [PDF(勝手ミラー版)] タイトルの訳…
id:sumim:20080415:p1 の続き? ▼データ型にこだわるOO → 南斗聖拳 広く伝承され、主立ったもので総勢一〇八派に分派している。また、有力流派から派生する流派(派生流派)も存在するため、流派の数はさらに増える(南斗聖拳 - Wikipedia より)。切り裂…
id:sumim:20080416:p1 の続き? ▼データ型にこだわるOO ユーザー定義型へのこだわりといえば、メインプログラムさえも型で表現しようとする Java をおいて他にないでしょう。ありがちな「メッセージングにこだわる〜」からの“汚染”もほぼ皆無のようですし…
「OO(OOP)とは何か?」については、ネタが割れてしまえばそんなに複雑なものではない…と個人的には最近、考えるようになってきています。 リスコフのユーザー定義型(aka、抽象データ型。データと手続きのセット)そのもの、あるいはその「ユーザー定…
クラスベースのOOとプロトタイプベースのOOで決定的に違うのは、プログラムを動かしている最中にオブジェクトが出来ること、すなわちメソッド(method)を追加したり再定義したりできるかだ。 404 Blog Not Found:タイプ・クラス・プロトタイプ - OOの語彙 こ…
Smalltalk Tidbits, Industry Rants - Seaside and Rails Comparison Rails と Seaside でそれぞれ "Hello World!" Web アプリを作った(Ruby on Rails は出来合いのものを使用?)あと、バグを仕込んでわざとエラーを起こさせ、簡単なデバッグ作業を比較し…
Diary?::2007-10-12 - (22:35) 経由で、未定義な遷移の解釈 -- 3つの立場 - 檜山正幸のキマイラ飼育記 のうち未定義がエラーを(値として…)返す場合を同じく Python で。関数とメソッド(クラス内定義関数)の区別を持つ Python は、クックの ADT と PDA(O…
OOP は ADT のたんなる別の呼び名だよ。(現在主流。本質寄り) OOP とは ADT を「クラス」という言語機能で実現するものだよ。つまり、クラスの特徴である“継承”やそれに付随して使える“多態性”が、 他の方法で ADT(“カプセル化”)を実現したプログラミン…
「A History of CLU」(PDF) の 2. Data Abstraction からの抜粋。 概要 「抽象データ型」という考え方は、リスコフらにより 1972 年の終わりから 1973 年の夏頃までにまとめられた。 「抽象データ型」は、データとオペレーションのセット。 データの内部情報…
L'eclat des jours - なんで? 経由で、The Pragmatic Programmers, LLC: Tell, Don't Ask というのがあるのを知って、ナンダッテーッ!?とか思って読んでみたら、たんなる“ask”違いでした(^_^;)。前者は「(前もってあれこれ)尋ねるな」で、後者は「(メ…
第1回 サルでも分かるプログラミング言語の新潮流【前篇】の図中の 1969 年の Smalltalk というのはご愛敬として…(おそらく、FLEX システムあたりと取り違えられたのでしょう。自他共に認める言語オタクだけあって間違い方としては渋いですね(^_^;))気にな…
Smalltalk の場合、一歩という基本に当たるのはオブジェクトです。つまり Smalltalk では、すべてがオブジェクトとメッセージ交換を扱います。 IBM Developer 日本語版 : 大変申し訳ありません。このページは無効です。 ポール・グレアム …じゃなくて ブルー…
ときどきの雑記帖 リターンズ -おしえて(OOPLの)えらいひと より。お呼びでない…とは思いましたが、私のこれまで調べたことを頭の中で整理するのに役立ちそうなので、できるだけ簡潔にまとめてみます。 ケイのオブジェクト指向(メッセージングのオブジェク…
矢沢久雄のソフトウエア芸人の部屋 : 【第3回】 このごろオブジェクト指向セミナーの人気が高まっています より。 正直、あまり残念がる必要はないと思います。ケイのオブジェクト指向とストラウストラップのオブジェクト指向は、同じ「オブジェクト指向」を…
http://www.iam.unibe.ch/~scg/Teaching/Smalltalk/ Squeak3.9 でクロージャを扱えるようにするための機能拡張パッケージ、NewCompiler と AST のことを調べていたとき、こんなページを発見しました。Smalltalk と銘打っていますが、Squeak(の Smalltalk)…
id:sumim:20060602:p1 で、(少なくとも“ケイのオブジェクト指向”に立脚して Smalltalk を利用する際には)「すべてはオブジェクト」というよりは「すべてはメッセージング」であることを意識すべし…という話をうけての、結城さんの、 sumimさんの「すべてが…
プログラマ向けオンラインマガジンの bitwise magazine にて、どうしてかくも多くの人が Ruby に魅了されるのか…を編集者があれこれ語った記事が掲載されているのですが、ちょっと笑ってしまった一節。 Huw: Matz has said that, with Ruby, he has 'tried t…
h003149b さん(?)の「SchemeとActor理論」 http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/actor/actor.html こうして改めてアクターによるプログラミングを見ると、そこで要求されるメンタルモデルが Smalltalk-72 のそれとそっくりであることに驚かさ…
http://www.spice-of-life.net/wiki/index.cgi/d/?wikiname=LearnOOPWithSqueak Ruby で書かれた Web アプリケーションフレームワーク、CGIKit で知られる トーフサロン の suzuki さんによる。 (主にメッセージ指向の)オブジェクト指向がまだピンとこない…
関連:id:sumim:20040525:p1 keisuken さんの 航海日誌 発、babie さんの 遅レス 経由で、オライリーのオープンソースコンベンション(OSCON 2005)のセッション「10 Things Every Java Programmer Should Know About Ruby」(スライド、brazil さんの和訳)…
プログラマー日記経由で。 第6章のみサンプル公開されているみたいですね。http://www.atmarkit.co.jp/fdotnet/bookpreview/codecomp2nd_index/codecomp2nd.htmlhttp://www.atmarkit.co.jp/fdotnet/bookpreview/codecomp2nd_06/codecomp2nd_06_01.html mixi…
関連:id:sumim:20040525:p1 上の、The big idea is "messaging"... あるいは messages, not objects にからめて、id:squeaker さんに確認していただいたところによると、アラン・ケイ自身、message oriented という言葉に思い当たらないとかおっしゃってお…
OPC Diary 経由で。 Also, I'm strongly in the Alan Kay/Smalltalk camp - messages, not objects have become the way I think. Go look at Indigo for an example :-) DB messages, not objects …というところに重みがありますね。参考:The big idea is …
関連:id:sumim:20040525:p1 また、村山さんにオブジェクトの広場 ML で参照していただいているようです。いつもありがとうございます。 継承は大事ですよね。ストラウストラップもかの whatis 論文(「C++ の設計と進化」風に言えば、「…とは何か?」論文。…