· 

プログラミングの楽しさ

プログラミングの楽しさ

2019.07.27

 ・筆者の仕事はプログラム書きだ。Winnyの開発者金子さんの本を読んでいたら、

「私にとって、プログラムは表現手段であり、いつも言葉で語るよりは実際に動作することを見せた方が早いと考えます。これまでも何かアイデアを思いつくと、ちょっとした実証プログラムという形で公開してきました」(金子本、p174)という文章が目についた。

 

・これがまさにプログラミングの真髄だと思う。プログラミングは、音楽家にとっての楽器、絵描きにとってのキャンバスと同じだ。思いついたアイデアを表現する現代的手段といってよい。

 

・筆者は、今でもちょっとアイデアを思いつくと、まず小さなプログラムを書いて、内容をチェックしてみる。それがうまくいきそうなら、本格的なプログラムにする。

 

・当社のソフト、e予測もこうして開発している。今考えているのは、推論エンジンを装着することだ。これは五岳(Gogaku)と名付けられている。これを使えば、素人でも、マクロ経済や産業構造予測と整合的な、売り上げ予測などを計算できる。

 

・ちょっと話は飛躍するが、結局のところ、プログラムは、幕末のオランダ語や英語に似ている。勝海舟のように、こうした言葉を習得した人々は、新時代の入場券を手に入れることができた。逆にそれがないと、新時代(現代に置き換えればIT時代)の息吹きを感じることはできない。

 

・日本の大企業のトップや官僚などが、よくテレビや新聞などでAIやIoTなどを連呼している。しかしプログラミングができなければ、それは単なるスローガンにすぎない。幕末の幕府要人が黒船におびえるのとなんら変わらない。

 

・プログラミングのこうした感覚をわかりやすく書いた本が、リナックスを作り上げたリーナス・トーパルズの自伝本だ。これを読むとプログラミングの楽しさ、そのポテンシャルの大きさを体感できる。ただし興味あるのは、プログラミングを貫く感性に”反体制感情”(リーナス本、p243)があることだ。時代が進歩するとき、まず旧体制に疑問を持つ若者が現れる。彼らは、最初はマイノリティだが、次第に中心となり、次世代を作り上げる骨格となる。これは明治維新でも起こったことだ。この意味で、体制を揺るがすツールとして、幕末のオランダ語と現代のプログラミングは共通性を持つ。

 

・こう考えてみると、Winnyの金子氏が、検察から目の敵にされた理由もわからなくはない。検察側は、Winnyの中に体制を揺るがすポテンシャルを見いだしたのかもしれない。ただし問題は現在の秩序を永遠に維持することはできないということだ。新たな時代(IT革新が生活の中心になる)を迎えるためには、時代を斜めにみる傾き者(かぶきもの)が必要だし、彼らが次の主役になる。現在の秩序を守るのか、それとも新たな時代に向かって多少の犠牲を払っても、”変な若者”に未来を託すのか。選択は難しい。

 

・なおプログラミングに慣れていない人が、上に示したようなフィーリングを理解するためには、コーリー・アルソフの「独学プログラマー」が有用だ。これはパイソンの入門書でもあるが、バランスよくプログラミングの基本を論じている。

 

(参考)

・金子勇、「Winnyの技術」、ASCII、2005年

・リーナス・トーパルズ、デービッド・ダイヤモンド「それがぼくには楽しかったから」、中島洋監訳、風見潤訳、小学館プロダクション、2001

・コーリー・アルソフ、「独学プログラマー」、清水川貴之監訳、清水川貴之・新木雅也訳、2018年