Smalltalk

Vista Smalltalk flash で遊んでみました

That page has expired. さんで Vista Smalltalk Flash という、 いろいろ複雑な感想を抱いてしまう名前*1の Smalltalk の実装系が紹介されていたので遊んでみました。 Vista Smalltalkの Homeへジャンプしたら、Adobe の Flashベースの 新リッチクライアン…

Smalltalk でプロトタイピング

シミュレータとかで Python もちょっと使ったけれど、最近の仕事は C++ になっています。今年に入ってからずーーーっと作っているこのプロジェクトだけれど、4ヶ月たとうというのに、去年の年末に 3週間で作った Smalltalk 製 プロトタイプの機能にまだ追い…

はてな スーパーpre記法 in Smalltalk

www.textfile.org さん経由、入力したプログラムコードを色付けするスーパーpre記法 シンタックス・ハイライトの実装について。一瞬「これだけあって、またも Smalltalk が無い...orz」とか思ったのですが、"sml" と言うキーワードがそれかな、と思い直して…

#quo: と #rem: は誰がために。

基本的なことを知らないと言えば、#// と #quo: 、#\\ と #rem の違いです。#// は 商の整数部を #\\ はその余りを求める メソッドです。一方の #quo: と #rem: も それぞれ 商の整数部と 剰余を求めるメソッドで、「はてな、なんで同じモノが二つあるんだろ…

Smalltalk の MVC フレームワーク

Squeak の今の標準 GUI フレームワークは Morphic ですが、古き良き Smalltalk-80 由来の MVC フレームワークも普通に使うことが出来ます。ありがたや〜。 Model せっかくなので、日経Linux 2006.12月号の 「プログラミングのオキテ」の ストップウォッチを…

Smalltlak の Observer パターン

MVC といえば Model と View-Contller 間のやりとりに Observerパターンを使います。Smalltalk の場合、Observerパターンのことを Dependency Mechanism と呼び、既にObject クラスに Subject としての機能は一通り実装済みになっています。(GoF本では、確か…

Seaside チュートリアル(その4)

年末に向かって忙しくなり出すこの時期、紅葉と同期してスケジュール表もイエローサインやレッドサインが目立ち始める今日この頃。そんなこんなでいろいろあって、すっかりほったらかしだったのです。ごめんなさい。さて、気を取り直して、Seaside チュート…

人生いろいろ、二項セレクタもいろいろ

先日の日記 で、「**」というシンボルの二項セレクタを定義しました。動いてしまったのにちょっとビックリした――と書いたのですが、猫みたいなエセでなく、本物のSmalltalker にとっては驚くに値しません。二項セレクタの構文は、パープルブックでは、 <特殊…

Smalltalk の 文字列操作メソッド

Ruby との文字列操作の比較 - Smalltalkのtは小文字です 本来の使用(?)目的とは違うのですが、言語機能の比較表って逆引き辞典みたいでとても便利ですよね。「あーっ、○○言語の ××と同じ機能合ったはずだけど、なんだっけ」*1 とかとか。配列操作も併せてメ…

OOP学習の良書はSqueakです

良い師匠なら運任せしかないのですが、良書ならあたしにも一つお勧めがあって、それは Squeak という名前のダイナミック・ドキュメントです*1。読んで良し、書いて良し、動かして良しですよ♪先のクラスとインスタンスの違いのお馬鹿さんにしたって、クラスも…

クラスはオブジェクトであると言い切れない大人の事情

カレーなる辛口Javaな転職日記さん経由、初心者がJavaを“超高速”で学ぶためのコツ | 日経 xTECH(クロステック)。久しぶりに酷すぎる記事を見て呆然。なんですか、これは。これが日経ソフトウェア2005年2月号に記事だというから、かなり憂鬱。Cマガジンが無…

Seaside チュートリアル(その3)

ずいぶん間が開いてしまいました。本業の方が忙しくなってきて、コードをまったり書く時間がなかなか確保出来ませんでした。いやーんなカンジです。さて、久しぶりの第3回目ですが、いつも通りA Seaside tutorialさんから、今日はFormsを勉強します。

lowerCamelな関数命名法は誰が元祖?

Java では lowerCammelCase で変数名やメソッド名を付けますが、これは C の文化ではありません。調べた訳じゃないのですが十中八九 Smalltalk 経由だと思います。C では変数名は hoge_piyo_buf みたいにアンダバーつなぎが一般的だった気がします。(←猫の…

ファイル世界との国交回復(その3)

ファイル世界との国交回復(その2) - みねこあで、FileManにちょこっと追加した #deepCopyTo: メソッドですが、そしたら梅沢さんにより本家FileManに コピー機能を追加してもらっちゃいました。 http://squeaksource.blueplane.jp/FileMan/

Smalltalkを始めた切っ掛け

と言うわけで関連話題。(だである調は難しいね〜)私が今 Smalltalk をこよなく愛しているのは sumimさんのドキュメントに負うところが大きいのですが、Smalltalkを始めた切っ掛けは、マーチン・ファウラーさんのUMLモデリングのエッセンス 第二版です。当…

召還魔法

るびまより、「Smalltalk」と唱えると id:sumim さんが召還される件。この召還魔法は術者のスキルや知名度に関係無く、かなりの高確率で成功する点と、mixiの閉じた空間でも有効だったりする点が素晴らしいが、その結果召還するつもりなく何気なく「Smalltal…

Seaside チュートリアル(その2)

本コーナーは A Seaside tutorial さんをテキストに使っての あたしのSeaside独習ノートです。2回目の今日は 4項 Anchors を勉強します。

ファイル世界との国交回復(その2)

ファイル世界との国交回復(その1) - みねこあ で 梅沢さんにコメントで紹介頂いたファイル操作ユーティリティ?FileManですが、ちょっと使っただけでも何ともツボを突いた仕様で非常に便利です。

Seaside チュートリアル(その1)

Seaside は Squeak上で動作する継続ベースの Webアプリケーションフレームワーク です。WWW はステートレスな世界なので、Webアプリケーションの作成には情報の永続化に関する悩みがつきものです。しかし継続(Continuation)を使うことでプログラマ側にはステ…

ファイル世界との国交回復(その1)

私がSmalltalk を好きだ好きだと言いつつ、積極的に使えてない理由は、Smalltalk というものがWindowsやMac、Unix と言った現状のOSに余り馴染まないからというのが理由だと思います。Squeak を使っていると、全てのコンピュータ上の生活をSqueak上でおくれ…