この記事は日経 xTECH有料会員限定ですが、2018年4月7日5時まではどなたでもご覧いただけます。
興味をそそられたので、実際に試してみたくなりました。とはいってもこの本はシミュレーションの規則を紹介しているだけで、プログラムは載っていません。そこで自分で作ることにしました。父が買った「FM TOWNS」というパソコンが自宅にあったので、BASICでプログラムを書いて動かしてみました。ライフゲームでいろんな条件を試してみたり、囚人のジレンマに基づく細胞の生存競争で、古典的なしっぺ返し戦略と自作の戦略で戦わせてみたりしていました。
もっとも、プログラミングがメインの趣味というわけではありませんでした。当時は生徒会活動にのめり込んでいました。中学から高校にかけて、ずっと生徒会の事務の仕事や制度の設計に取り組んでいたのです。
Windowsのユーティリティを自作
高校生のときには、FM TOWNSに加えて家族共用のDOS/VパソコンでWindows 95を使っていました。高校2~3年のとき、Windowsのエクスプローラーのファイル操作の機能に不満が出てきたので、自作のユーティリティを書き始めました。
最初は「Visual Basic」という言語で開発していました。「BASICなので書けるだろう」と甘く見ていましたが、イベントドリブンという概念を知らず、手探りで書いていたので、なかなか苦戦しました。
しばらく取り組んでも何も書けないので、あきらめてVisual Basicの入門書を買いました。カメラ量販店で1カ月くらい毎日その本を立ち読みしていたのですが、手元にないとらちが明かないと思ったのです。当時のおこづかいでは高い本でしたが、観念して買いました。しばらくすると、Visual Basicのプログラムの実行時に必要なランタイムライブラリの大きさが嫌になってきたので、「Visual C++」にも手を出しました。
作ったのは、例えばフォルダーとzipファイルの中身との間の同期を取るようなユーティリティです。まずエクスプローラーの拡張機能として作り、その後、独立したGUIアプリケーションとして動作する機能強化版を作りました。機能としては要するにrsyncコマンドと同じようなものです。
高校3年生のときに学習塾で数学理論の一つである公理的集合論を勉強しました。その後、作ろうとしたプログラムが二つありました。