タグ

smalltalkに関するrydotのブックマーク (9)

  • イケてないRubyのコードのリファクタリングって奴をSmalltalkでやってみる(sumim版) - Smalltalkのtは小文字です

    件のネタについては Ruby ではすでに言及済みですが、その後 えせはらさんが Smalltalk に書き直すかたちで イケてないRubyのコードのリファクタリングって奴をSmallTalkでやってみる - Line 1: Error: Invalid Blog('by Esehara' ) というすばらしいエントリーを公開してくださいましたので、触発されて私も二番煎じではありますが、同じ Smalltalk 処理系の Pharo を使ってやってみました。ただバージョンは、先頃リリースされたばかりの 5.0 を使用しました。あとで出てきますが、新機能のサジェスチョンも初めて体験できて面白かったです。 正直このネタに関しては、肝心のリファクタリング自体は冗長な記述をまとめるだけであっさりと終わってしまいそうなので、このエントリーでは論から少し離れて、その前段階の Ruby のリファクタリン

    イケてないRubyのコードのリファクタリングって奴をSmalltalkでやってみる(sumim版) - Smalltalkのtは小文字です
  • 最低限の Squeak Smalltalk 入門 - sumim’s smalltalking-tos

    ついでにSmalltalkでも試そうと思ってSqueakをインストールしたけど… - 西尾泰和のはてなダイアリー Smalltalk、特に Squeak Smalltalk は、言語処理系や IDE というより、あたかも“ゲストOS”のように振る舞うので、ちょっと試してみたいと思い立ってインストール&起動まではできたものの、そこから先には、独自の GUI や操作スタイルに阻まれて進めなかった…という経験をお持ちの方も多いと思います。 そこで、Smalltalk 環境独自の GUI ツール群の使い方はあとで覚える(あるいはそもそもそれほど興味がない←しょぼーん…(^_^;))として、今のところは、試してみたいコードを動かしたり、どんな動作になるのか確認ができればいい…といった忙しい人向けにざっくり、Smalltalk 式を評価するための方法のようなものを書いてみました。 とりあえず、マシンが

    最低限の Squeak Smalltalk 入門 - sumim’s smalltalking-tos
  • プロトタイプベース・オブジェクト指向

    prototype-based object oriented 。 オブジェクトがスロット(クラスのインスタンスならインスタンス変数やメソッドに相当)の追加をクラスに依存せずに自由にできることを前提としたオブジェクト指向。あるいはそうしたオブジェクトを用いたプログラミングや、それをサポートする機構。 「インスタンスベース」、「オブジェクトベース」とも。 これらへの言い換えは「プロトタイプベース」という言葉が持つ限定的なニュアンスを払拭するのにおおいに役立つ。しかし同時に、前者の「インスタンスベース」において特に、“プロトタイプベースにはクラスがない”あるいは“プロトタイプベースはクラスベースの対極にある(あるいはアンチテーゼである)”といったような教科書的記述に惑わされている人をひどく混乱させるらしく、極端な拒絶反応を示す人もいるので注意。また、後者においては、オブジェクトオリエンテッド=

  • オブジェクト指向プログラミングは間違いだったか?

    原文(投稿日:2010/07/12)へのリンク 「メッセージ送信を行うSmalltalk-80から生まれたオブジェクト指向を振り返って、継承などの現在の状況を見てみれば、私たちは間違った道を下ってきたと言えるだろうか?」 これは、QCon London 2010 インタビュー の最初の質問だった。このインタビューを受けたのは、Erlangの最初の開発者であるJoe Armstrong博士とSmalltalk、OOP、パターンに長い間関係しているRalph Johnson博士だ。私たちは「間違った道」を当てもなくさまよってきたが、これはオブジェクトの考え方の実現方法に欠点があったためであり、この考え方自体の欠点ではないと2人は述べた。実際に、Ralph Johnson博士は以下の点から始めた。 あるアイデアを思いついて世の中に出すと、たいていの人にとって急進的過ぎるのはよくあることです。大半

    オブジェクト指向プログラミングは間違いだったか?
  • オープンクラスとはダイナミックスコープだという話。 - 言語ゲーム

    http://blog.livedoor.jp/dankogai/archives/51507869.html を読んで、これは書かなきゃ!と思ったので、まだ考え途中だけどメモします。私のネームスペース理論で言うと、オープンクラスとはダイナミックスコープなのです。 まずオープンクラスとは何かざっと復習。Java 等の静的なオブジェクト指向言語では、クラスを定義する時に全部のメソッドを書く必要があるけど、Smalltalk や Ruby のクラスでは、あとからメソッドを追加したり書き換える事が出来ます。こういうのをオープンクラスと言います。オープンクラスの凄い所は、メソッドを変更する前にもともとあったプログラムの振る舞いまで変わってしまうと言う事です!これは柔軟であると同時に大変危険な諸刃の剣です。 次にダイナミックスコープとは何かをざっと復習。変数が使われている場所ではなく、処理の流れを元

    オープンクラスとはダイナミックスコープだという話。 - 言語ゲーム
  • 長文日記

  • Io プログラミングガイド

    Simplicity is the essence of happiness. - Cedric Bledsoe Io はプロトタイプベースの動的言語である。 その着想の大半は Smalltalk (全てがオブジェクトである)、Self[2] (プロトタイプベース), NewtonScript[3] (差分継承), Act1 (アクタとFutureによる並行動作)、Lisp[5] (コードは 検査 / 修正 可能なランタイムツリー) そして Lua[6] (小さい、組み込み可能). 観点 なぜ別の言語か? ここ 30 年のプログラミング言語の研究の焦点はほとんど、Smalltalk のような高水準言語の表現力と、Cのような低級言語の性能を融合することにか注意を払うことばかりに進んできました。 その結果、一連の言語はCほど速くないかSmalltalkほど表現力豊かでないものでした。 Io

  • Smalltalk のクラスと Haskell の型クラスを比較します。 - 言語ゲーム

    私は Haskell の一番すごい所は型クラスだと思っているんですが、ここ数日それを言葉にしようとずっと悩んでいました。結局、もう一つの好きな言語なSmalltalk と比較して型クラスがどういう物か書いてみる事にしました。 型クラスという名前について Smalltalk に染まってしまった人にとって、「型クラス」というのは最悪なネーミングです。あまりにも Smalltalk のクラスと違いすぎるからです。機能的には traits や Java のインタフェースから継承を除いた物と思ったら良いです。また、「継承」や「インスタンス」など、Smalltalk と Haskell 両方で使われる言葉はことごとく別ものと思った方が良いです。 型クラスの位置づけ Smalltalk をはじめとするオブジェクト指向言語の機能をそのまま Haskell で実現しようとすると最初はすごく戸惑います。日

    Smalltalk のクラスと Haskell の型クラスを比較します。 - 言語ゲーム
  • Squeak/Smalltalk

    Squeak is a modern, open-source Smalltalk programming system with fast execution environments for all major platforms. It features the Morphic framework, which promotes low effort graphical, interactive application development and maintenance. Many projects have been successfully created with Squeak. They cover a wide range of domains such as education, multimedia, gaming, research, and commerce.

  • 1