【ポエム】なぜ Pharo を使うのか?


概要

楽しいからさ、ヒャッハー!

背景

職業プログラマにとって、主に使う言語を選択することは自分のキャリアデザインの中核を占める問題です。プログラミング言語は自然言語と違ってネイティブは存在しません。みんな、自分の意思で言語を選択して習得します。たとえ仕事の行きがかり上だったり、たまたま友人に勧められたりしても、それを学ぶことは自分の意思で決めたことのはずです。
本ポエマーは、現在は Pharo Smalltalk を主な言語として使っています。もちろん、ここに至るまで、BASIC、アセンブリ、GAME、PASCAL、C、Miranda、Z、VDM、Python、等々、いろいろな言語と出会い、学び、楽しんできました。本ポエムでは、自分がなぜ Pharo Smalltalk を使っているのか、特に検証もなく垂れ流してみます。

モノを作る楽しさ

本ポエマーは零細町工場のバカ息子として育ったせいか、モノを作るのが好きです。目の前にある材料と、途中まで作ってあるモノを見て、あれこれ押したり回したり触りながら、材料を切ったり接合したりして、モノを作ります。Pharo Smalltalk はまさにそんな感じでプログラミングをさせてくれます。
Pharo Smalltalkの最近のバージョンでは、Playgroundと呼ばれる、昔のSmalltalkでいうところのWorkspaceのようなものが提供されています。Pharo では、モノを切ったり組み立てたりする一連の過程が、1つのPlayground上で進行していきます。あくまで個人の主観的感想ですが、これは従来のWorkspaceよりも「モノをいじってる感」があります。

魔法使いになれる

昔から優秀なプログラマのことをウィザード(魔法使い)と呼んだりしますが、ここでいう魔法使いとは、ハリポのアレです。何かのモノやヒトに向かって魔法の呪文を投げると何かが起こるヤツです。
Pharo ではオブジェクトにメッセージを投げます。出来合いの呪文を投げるだけでなく、自分の呪文を創作することもできます。別に伝説的魔術師の息子として生まれる必要はありません。どんどんオレオレ呪文を作って、バンバン使えば良いのです。継承だの多態だの型だの、どーでも良いのです。そんなもん、魔法の呪文の前には児戯も同然なのです。

ヒャッハーな連中と仲間になれる

Pharoコミュニティにはヒャッハーな連中がいっぱいいます。さすが魔法使い集団です。変なの(褒め言葉)ばっかりです。変化を怖れる気配などありません。To boldly go where no one has gone before です。Smalltalkの歴史の中に閉じこもる気配など全くありません。例えば、ある魔法使いさんは、Pharoのブートストラップを確立して、80年代からの秘伝のタレを排水溝に捨ててしまいました。みんな、Smalltalkの壁を破りたくてウズウズしている連中なのです。
英語に自信ない?カンケーナイです。Pharoコミュニティのメンバーのほとんどは英語ネイティブではありません。事実上の開発リーダーも英語ネイティブじゃありません。出身国もロシア、ウクライナ、チェコ、オーストリア、ドイツ、オランダ、ベルギー、フランス、スイス、アルゼンチン、ブラジル、チリ、カメルーン、などなど、多彩です。もちろんイギリスやメリケン出身の英語ネイティブもいます。みんな、なんとなく頑張って英語でコミュニケーションしています。この中に日本語訛りが1人2人混ざったところで、全く問題ないのです。というかむしろ、なぜか日本語を話せる人が何人かいます。

まとめ

Pharo Launcherでヒャッハー星へGOです。