Pythonにぐっときた瞬間

この記事はPyCon JP Advent Calendar 201618日目の投稿です。ということで、私がPythonにぐっときた瞬間について、みなさんと分かち合いたいと思います。


Pythonという言語の名前を初めて耳にしたのは1998年くらいでしょうか、Red Hat LinuxのインストーラAnacondaがPythonで書かれていた、という情報からでした。当時の私は、大学時代に生まれて初めて触れたコンピュータであるUnixを、家でも使いたいと思い、Linuxを触り始めたところでした。プログラミングなんて自分にはできない、と思っていましたから(今から思うと「specファイルやシェルスクリプトはプログラミングじゃないのかよ」と当時の自分に突っ込みを入れたいですね)、Pythonという単語はただの知識にすぎませんでした。ちなみに当時はちょうど、ロケールが実装されたglibc2の登場で、Linuxの当時の日本語環境の定番が大崩壊、JRPMプロジェクトがリビルドに追われていたときでした。これはのちにKondara MNU/Linux、さらにMomonga Linuxと発展します。また、Rubyが最初の普及期で、KondaraやMomongaは、AnacondaをRubyベースのインストーラに置き換えることが目標のひとつで、どちらかというとPythonがあまり好きではない人たちに囲まれていたので、この頃私がPythonにふれることはありませんでした。

2000年代前半に、「Wikiばな」という集まりがありました。Wikiが好きな人が集まって、思い思いのことを話す集まりです。当時はさまざまなWikiの記法がありましたが、共通していたのは、テキストファイルの見た目をいかにHTMLに落とし込むか、そしてHTMLを書かずに済ませられるか、ということでした。技術が好きな人というのは簡潔さを好むものですから、WikiばなでもさまざまなWikiの記法について、語り合うときがありました。Wikiの記法はあまりにバラバラになりすぎて、結局Markdownが天下を取ってしまった感じもありますが、それでも、この頃、Wikiの思想である簡潔さ、ソースとなるテキストの見た目の分かりやすさ、ということに、私はかなり共感しました。

IT系の企業に就職した私は、自分にはできないと思っていた割に開発部門に行きたいとか、いまから思うと随分と身の程知らずな希望を出しましたが、希望が通り、開発を担当することになりました。そして私はプログラムを書くようになり、Perl・C・PHP(4)・Rubyなど、いくつかの言語経験を積みました。私が経験した言語の特徴は、いずれも「ブロックの終わりが明示的である」ことでした。

2007年に部署の異動があり、そこから約9年ほど、私は運用とテクニカルサポートの仕事をすることになるのですが、そのとき、ACLに用いるためのIPアドレスレンジの一覧を管理するスクリプトを書く必要に迫られました。このとき私は、「これ、どうせならいままでと違う言語でやってみようか」と思ったのですが、そのいままでと違う言語として、ぐっときたのがPythonでした。

なぜか。

Pythonといえばインデント。この、インデントでブロックを区切るという方法が、私にはWikiっぽく見えたのです。もちろん、「python」とコマンドラインで打てば簡単に言語の動作を試せる点や導入に苦労しない点もPythonの長所で、それが後々までPythonを好む理由になったのも確かですが、私にとって「PythonはWikiっぽい言語」だったのです。