Smalltalkだめ自慢
LL Diver 帰ってきた言語だめ自慢
2014 © Masashi Umezawa
老害
「t小文字とかいちいちウルサイ」
「オブジェクト指向言語の元祖とか偉そう」
「ジジイが思い出に浸っているだけ」
だめ1
老害ですが、何か?
 毎月開催のSmalltalk勉強会の年齢層高いです
 http://www.smalltalk-users.jp/Home/gao-zhi
 若い人もたまーにいますが、40-50代は当たり前
 「オブジェクト指向」については「メッセージ指向」
のほうが、たぶんよかった
 いわゆるC++やJava的な「オブジェクト指向言語」ではない
 t大文字の処理系もあるので、SmallTalkでも良いです
 http://smalltalk.smalltalk-users.jp/
エディタ
使えず
「viもemacsも使えないとかマジ?」
だめ2
あなたの好きなエディタは使えません
 SmalltalkはSmalltalkで開発
ツールもSmalltalkで書いてある
なんなら作れば?
 テキストを対象としないスタイル
メモリにうかんだオブジェクトをメッセージ送信で
インタラクティブに変容させていく育てゲー
常にデバッガの中でプログラムを作っているような
もの
スタイルが違いすぎて理解されにくい
理想世界に
ひきこもり
「美しい世界はわかった。で?」
だめ3
もともとOSなんで...
 仮想化環境で別のOSを動かしているようなもの
 外部とつながらないと困らないの?
 実際は結構つながる
FFI, COM Connect, JNI Port,
Objective-C Bridge, Python Bridgeなど
しかし老害Smalltalkerはあまり外の言語や環境に
関心なさげ
これらの機能が活用されることは少ない!
俺が
Smalltalkだ!
「 お、おう...」
だめ4
処理系の乱立
 正当派
 Squeak
 Pharo
 VisualWorks
 VA Smalltalk
 Cuis
 CUI重視
 GNU Smalltalk
 VM乗っかり派
 Amber (JS)
 SqueakJS (JS)
 Essence# (.NET)
 F-Script (Cocoa)
 Redline Smalltalk (JVM)
 DB合体
 Gemstone/S
 泡沫がその他20ほど
互換性はあるようでなかったりする
微妙に書き換える!
リポジトリの乱立
 SqueakSource
 www.squeaksource.com
 SqueakSource3
 ss3.gemstone.com
 SmalltalkHub
 smalltalkhub.com
• どこに何がおいてあるのか
• どの処理系についてのものか
よくわからない
 Public Store Repository
 github
 その他の野良リポジトリ
言語そのものは?
 予約語5つの言語なので、ツッコミどころはあまりない
 nil, true, false, self, super
 Smallなtalk
 なんなら拡張どうぞ
 「自分で作ろうぜ」症候群を生む
 中央で統制するプレーヤーがおらず、混沌としている
 これがSmalltalkらしいといえばらしい
 好き放題にやりたいことをやれる、やってしまう
 狭い廊下を突き進むのでなく、モンタナの空の下を闊歩 - Kent Beck

Smalltalkだめ自慢