タグ

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

  • sumim’s smalltalking-tos - Mac のスクロールバーはいかにしてできあがったか

    あるいは、両端の矢印+スクロールボックスからなる、現在主流のスクロールバーへの進化の道筋…というような話。 ※2017-01-25: ContrAlto という ALTO シミュレーターと現存する当時のディスクパックの内容を保持したディスクイメージを使うことで、ジョブズらが見たのに非常に近い GUI の様子がほぼ再現できるようになったので、図や内容を改訂しました。 このブログにおいては今さら言うまでもないことですが、MacGUI(より正確には、その前身となる Lisa の GUI)は、完全なオリジナルというわけではなく、ALTO を暫定ダイナブックたらしめた Smalltalk の GUI を“たたき台”にして再デザインされたものです。その具体的なところは長らく謎だったのですが、近年、ビル・アトキンソンがいくつかの場所で公開した、Lisa の開発初期のプロトタイプのポラロイド写真によ

    sumim’s smalltalking-tos - Mac のスクロールバーはいかにしてできあがったか
    otsune
    otsune 2020/03/16
  • いや。それはない。(キッパリ)w - Smalltalkのtは小文字です

    ケントベック「SmallTalkが世の中に広まればいいとおもっていたら、広まった時の名前はRubyだった」 幸せなエンジニアになるための仕事術/まつもとゆきひろ&平鍋健児 - @tmtms のメモ ケント・ベックともあろう人が「SmallTalkが世の中に広まればいい」などと間違っても願うわけがない。^^; まあ、そんなことはともかく、この発言は Ruby が Smalltalk の後継や代替としてあるかのような誤った印象を聞き手に与える可能性があるので(VisualWorks の存在を知らない人がよくやりがちな “Smalltalk は今は Squeak と呼ばれている…” みたいな紹介と同じ程度には)適切ではないと思う。 Matzにっき(2007-06-25) - Where I Come From

    いや。それはない。(キッパリ)w - Smalltalkのtは小文字です
    otsune
    otsune 2009/10/02
  • “オブジェクト指向”の本質 - Smalltalkのtは小文字です

    「OO(OOP)とは何か?」については、ネタが割れてしまえばそんなに複雑なものではない…と個人的には最近、考えるようになってきています。 リスコフのユーザー定義型(aka、抽象データ型。データと手続きのセット)そのもの、あるいはその「ユーザー定義型」をクラスやそれに準ずる機能で実現しようとするOO(ストラウストラップ。aka、クラス指向。継承を使ったプログラミング)。もしくはそれらを一般化したOO(クック。aka、手続きによる抽象化)。 メッセージングにより動的性を実現しようとするOO(ケイ。aka メッセージ指向) 今回登場した、後者のメッセージングのOOのミニマリズムをおしすすめることによって派生的に生じたOO(アンガーとスミスからの 派生 変形。aka、プロトタイプベースOO。フレームとスロット、あとは委譲機構があれば十分…というミニマル化の結果、アンガーとスミスの頃には重要だった“

    “オブジェクト指向”の本質 - Smalltalkのtは小文字です
    otsune
    otsune 2009/09/16
  • プロトタイプベースの誤解 - Smalltalkのtは小文字です

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

    プロトタイプベースの誤解 - Smalltalkのtは小文字です
    otsune
    otsune 2008/04/14
  • Implementation Patterns と Smalltalk Best Practice Patterns の類似・相違項目一覧 - Smalltalkのtは小文字です

    「Implementation Patterns - Kent Beck」 「ケント・ベックのSmalltalkベストプラクティス・パターン―シンプル・デザインへの宝石集」 Implementation … と SBPP とで共通・類似の内容の項目には「●」、Implementation … で新しく追加された項目には「△」、SBPP のみの項目には「▽」をそれぞれ冠してあります。あと、この機会に SBPP のことを知った Ruby な方々向けの参考までに「▽」な項目については、Ruby に関連ありそうな項目に [Ruby] ラベルを付してみました。 クラス △ Class ● Simple Superclass Name ● Qualified Subclass Name △ Abstract Interface △ Interface △ Abstract Class △ Versio

    Implementation Patterns と Smalltalk Best Practice Patterns の類似・相違項目一覧 - Smalltalkのtは小文字です
    otsune
    otsune 2007/11/26
  • sumim’s smalltalking-tos - Smalltalk は死につつある…とかってバカじゃね?

    Factor: a practical stack language: Smalltalk is dying via Matz にっき。比較的名前の知られた Smalltalk 処理系の一つがディスコンになったというニュースをたまたま目にして、脊髄反射的に毎度おなじみの「Smalltalk、もうダメぽ…」的な何かをひと言いいたくなった人のエントリーみたい。 Smalltalk のデファクトスタンダードたる VisualWorks(Cincom Smalltalk。Smalltalk-80 の直系の子孫)や、オープンソースの GNU Smalltalk(こちらは知名度と派手なポータルで家と誤解されがちだけれども、実際には Little Smalltalk 同様、ファンのお手製)についての言及が皆無であること、そのくせ Smalltalk としては(私個人的には認めたくないものの…w)傍流・

    sumim’s smalltalking-tos - Smalltalk は死につつある…とかってバカじゃね?
    otsune
    otsune 2007/09/06
  • オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です

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

    オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です
    otsune
    otsune 2006/12/02
  • Ruby との文字列操作の比較 - Smalltalkのtは小文字です

    毎度お呼びでないことは重々承知の助なのですが…(^_^;)。前回同様、いやなブログ: 文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ に便乗して、Squeak の Smalltalk における文字列操作の紹介をさせてください。 Ruby (String) Squeak の Smalltalk (String) 備 考 s = "abc" s = 'abc' シングルクオーテーションのみ s = x + y s = x, y カンマを使用 s == x s = x s sameAs: x 大文字小文字を区別せず比較 s howManyMatch: x 合致している文字数を返す s charactersExactlyMatching: x s.casecmp(x) (s compare: x) - 2 s % [x, y] s format: {x

    Ruby との文字列操作の比較 - Smalltalkのtは小文字です
    otsune
    otsune 2006/11/01
  • 1