11
Smalltalkだめ自慢 LL Diver 帰ってきた言語だめ自慢 2014 © Masashi Umezawa

Smalltalkだめ自慢

Embed Size (px)

DESCRIPTION

LL Diver夜の部「帰ってきただめ自慢」の資料です。Smalltalkのだめなところのご紹介。 http://ll.jus.or.jp/2014/program#dame

Citation preview

Page 1: Smalltalkだめ自慢

Smalltalkだめ自慢LL Diver 帰ってきた言語だめ自慢

2014 © Masashi Umezawa

Page 2: Smalltalkだめ自慢

老害「t小文字とかいちいちウルサイ」

「オブジェクト指向言語の元祖とか偉そう」

「ジジイが思い出に浸っているだけ」

だめ1

Page 3: Smalltalkだめ自慢

老害ですが、何か?

毎月開催のSmalltalk勉強会の年齢層高いです http://www.smalltalk-users.jp/Home/gao-zhi

若い人もたまーにいますが、40-50代は当たり前

「オブジェクト指向」については「メッセージ指向」のほうが、たぶんよかったいわゆるC++やJava的な「オブジェクト指向言語」ではない

t大文字の処理系もあるので、SmallTalkでも良いです http://smalltalk.smalltalk-users.jp/

Page 4: Smalltalkだめ自慢

エディタ使えず

「viもemacsも使えないとかマジ?」

だめ2

Page 5: Smalltalkだめ自慢

あなたの好きなエディタは使えません

SmalltalkはSmalltalkで開発ツールもSmalltalkで書いてある

なんなら作れば?

テキストを対象としないスタイルメモリにうかんだオブジェクトをメッセージ送信でインタラクティブに変容させていく育てゲー

常にデバッガの中でプログラムを作っているようなもの

スタイルが違いすぎて理解されにくい

Page 6: Smalltalkだめ自慢

理想世界にひきこもり「美しい世界はわかった。で?」

だめ3

Page 7: Smalltalkだめ自慢

もともとOSなんで...

仮想化環境で別のOSを動かしているようなもの

外部とつながらないと困らないの?

実際は結構つながる

FFI, COM Connect, JNI Port,Objective-C Bridge, Python Bridgeなど

しかし老害Smalltalkerはあまり外の言語や環境に関心なさげ

これらの機能が活用されることは少ない!

Page 8: Smalltalkだめ自慢

俺がSmalltalkだ!

「お、おう...」

だめ4

Page 9: Smalltalkだめ自慢

処理系の乱立正当派

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ほど

互換性はあるようでなかったりする微妙に書き換える!

Page 10: Smalltalkだめ自慢

リポジトリの乱立

SqueakSource

www.squeaksource.com

SqueakSource3

ss3.gemstone.com

SmalltalkHub

smalltalkhub.com

• どこに何がおいてあるのか• どの処理系についてのものかよくわからない

Public Store Repository

github

その他の野良リポジトリ

Page 11: Smalltalkだめ自慢

言語そのものは?

予約語5つの言語なので、ツッコミどころはあまりない

nil, true, false, self, super

Smallなtalk

なんなら拡張どうぞ

「自分で作ろうぜ」症候群を生む

中央で統制するプレーヤーがおらず、混沌としている

これがSmalltalkらしいといえばらしい

好き放題にやりたいことをやれる、やってしまう

狭い廊下を突き進むのでなく、モンタナの空の下を闊歩 - Kent Beck