Smalltalkで書くFizzBuzz
この記事では、Smalltalkというプログラミング言語を使って古典的なFizzBuzz問題を解く方法を解説する。オブジェクト指向ならではのアプローチで、簡潔かつ表現豊かなコードを示しながら、Smalltalkの独自の構文と哲学を紹介する。
背景メモ
- Smalltalkは1970年代にXerox PARCで開発されたオブジェクト指向言語で、後のJavaやPythonに決定的な影響を与えた。IDEと実行環境が一体化し、起動すると即座にGUIでオブジェクトを操作できる"イメージベース"の開発スタイルが特徴。
- Mediumの投稿者はSmalltalkの主要実装Pharoのコア開発者Don Raab。この記事は、「FizzBuzz」(3の倍数でFizz、5の倍数でBuzz、両方でFizzBuzzを出力するプログラミング入門問題)をSmalltalkでどう書くかという教育的な紹介。
- Smalltalkが現在ほぼ使われていない理由は、ライセンス費用が高かった商業的な歴史と、主流言語と互換性のない独自エコシステムにある。しかしその"メッセージング"哲学は、今日のオブジェクト指向設計の根幹。
- FizzBuzzはそれ自体が簡単な問題だが、Smalltalk独特の書き方(コレクションに対するメッセージ連鎖)を知らない読者には「なぜそんな書き方をするのか」が不明。記事の前提知識として、Smalltalkが持つ「すべてはオブジェクトで動作はメッセージ送信」という世界観がある。