はじめに
初めてSmalltalkに触れようと思ったとき、何か得体の知れない印象を受けるかも知れません。
それはC言語やJAVAやC#やシェルスクリプトがまだ自分に取って新しいプログラム言語で、それに挑戦する時とは何かが少し違うぞ、という感想かもしれません。
どことなく、とらえどころのない違和感。そう感じるのはたぶん正しいと思います。
というのも、Smalltalkはこれまで馴染んできたプログラム作成のお作法とはちょっと異なる手順を踏むことになるからです。
新規のものは何かしら不安をかき立てる要素となりやすい。少なくとも自分の場合はそうでした。想定と違うことに気付いた瞬間は、特にそんな傾向があります。
私の経験では、初めてSmalltalkに触れてみようと思ったのに、実際に動かすことができるようになるまで数年間かかってしまいました。今になって振り返ってみると、Smalltalkの違和感が不安に繋がって、怖くなってしまったからです。
せっかくのSmalltalk体験が、違和感から不安に繋がり、結局なかなか手が出ない、という私のようなことにならないような、初めてSmalltalkに触れるときのちょっとしたポイントを書いてみたいと思います。
皆さんが一歩を踏み出す参考になれば幸いです。
####意外と頑丈です
Smalltalkの達人の話には、よくシステムの根本的な動作を変えてしまうようなアクロバティックな話題がよく出てきます。
システムそのものがシンプルである事、柔軟性、拡張性などが端的に表れる、そんな例かも知れません。ところが、迷える子羊にはビビるのに十分な破壊力です。
下手に触って環境を壊してしまうのではないか……。
そんな心配が浮かんでくるかも知れませんが、大丈夫です。
意外とSmalltalk環境は堅牢なので、初心者がおっかなびっくりいじっている程度では壊れません。
安心していろいろ試してみて下さい。
もしかしたら、環境を破壊できるようになったらシステムのディープなところまで手を出せるようになった、超初心者卒業、ぐらいに思っていると良いのかも知れません。
楽しい仮想マシン
はじめてSmalltalkに触れたときに一番とまどう可能性があるのは、お気に入りのエディタ、コマンドラインインタフェースと言ったお馴染みの開発環境が使えないことかもしれません。(実際には好きにカスタマイズできるので自由度というところでは非常に高いのですが)慣れない環境にまずおどおどしてしまう可能性があります。
ソースコードを書いて、保存して、コンパイルという手順が通用しなかったり、そのあたりも戸惑う原因になる可能性があります。
でも、まずは全く新しいOSを仮想化環境で試しているぐらいのつもりで触れていると良いかも知れません。
実際、Smalltalkはかなり仮想化仮想化環境で動いているOSと見ても大丈夫な要素や歴史的な経緯やらある様ですが、そのあたりは追々調べていくと楽しめるかと思います。
仮想化環境ですので、イメージさえとってはおけば何かあったときも前の状態にすぐ戻すことができます。心配しないでどんどん触って楽しみましょう。
実用性はあるのか?
本当に使えるのかな?、という印象を持つかも知れません。結論から言いますと、かなり使えます。
自分の場合、簡単なテキスト処理などで結構使っています。
……と、もっと書きたいのですが、そろそろ公開時間が迫ってきたのでまずはここまで。
随時追記していきたいと思います。