オブジェクト指向言語の元祖Smalltalk. 名前は昔から知っていましたか、難解なイメージもあり使う機会がありませんでした。最近Scratchをよく使う関係でいつも手の届くところにSmalltalkがあったことから、せっかくなので使ってみようと、Roassalというライブラリでデータビジュアライゼーションができることもあり、試してみました。
参考 : http://agilevisualization.com/AgileVisualization/Grapher/0203-Grapher.html
Smalltalkというのは、言語、実行・デバッグ環境、ソースコードなどが一体となっており(VM)、これらもオブジェクトとしてプログラムからアクセスできる環境にあるとてもユニークなシステムです。古いのに新しさを感じます。
まずは文法をはじめエッセンスを学ぶ上で下記サイトで勉強しました。
https://dotinstall.com/lessons/basic_smalltalk
変数、配列、文字列、四則計算、条件分岐、ループなど、プログラムの基本的な確認を備忘録としてスクりーショットをのせておきたいと思います。
環境: Pharo 5.0 (https://pharo.org/)
コードはPlaygroundに記述し、表示はTranscriptにされます。
次に、CSVファイルの内容をプロットしてみました。
ここまで使ってみて、改めてさまざまな言語の元祖なんだと実感しました。
メッセージ、セレクタという言い方が、Objective-C、数字をオブジェクトとするところなどはRuby、Playgroundでの実行環境はSwift、などなどいろんな言語・環境の香りを感じます。
まだまだ奥が深いので、もっと掘り下げていきたいです。
(まさに温故知新です)