言語といってもいろいろある。英語も言語ならば、古サンスクリットも言語である。
だが、なにも知らぬ初心者が一人っきりではじめられる言語といえば、Pythonだけである。
英国の空気立ち込めるPythonという言語。
それを学ぶ初心者と待っている見知らぬ世界は、いわば人間疎外された現実における唯一の観想にいたる霊的体験を思わせるのではないだろうか?
Pythonというのは、なんなのでしょうか? 冒頭では言語といってますね。では、どこで話されている言語なの? といえば、どこで話されてるんでしょうね。それは、多分コンピュータの中。Pythonというのは、コンピュータのプログラム言語です。
Pythonと書いて「パイソン」と読みます。毒蛇の名前でも銃の名前でもないですよ。これは、イギリスのコメディグループ、モンティパイソンに由来するのだそうです。モンティパイソン、ご存じですか? 日本人であれを面白いと思えるかどうかは人それぞれですが、僕は面白いと思いますよ(ただし、少々下品ですけど)。
さて、Pythonについては、公式サイトやユーザグループのサイトが、当然のことながら詳しいです。特に後者の「初めての方へ」はふるっていて、プログラムを今まで書いたことの無いような人でも、スムーズに導入できるようなコンテンツが用意されていていい感じ。しかも、サイトの免責事項として、
また、日本Pythonユーザ会はサイト内のコンテンツに他のプログラミング言語からの 乗り換えを誘発する恐れのある表現が多々あることを認め、予めお詫び申し上げます。
Python Japan User's Group
との文言が! ユーモアがあって、実にいい感じです。
では、なぜプログラミングの勉強をするにあたって、ほかのなにでもなくPythonを選んだのか? それは、前回も紹介しました「ハッカーになろう」が関わっています。
「ハッカーになろう」において、著者エリック・レイモンドは次のようにいっています。
もしコンピュータ言語をなにも知らないなら、まず Python から始めることをおすすめします。設計がきれいだし、ドキュメントもしっかりしているし、初心者にもそこそことっつきやすくできています。でも入門言語として最適でも、おもちゃではありません。強力で柔軟で、大きなプロジェクトにもじゅうぶん対応しています。もっとくわしい Python の評価を書いたのでご参考まで。Python ウェブサイトにはチュートリアルもあります。
How To Become A Hacker: Japanese
僕はこれを読んで、Pythonから学ぼうと思ったわけ。なんて素直なんだ!
学ぶとなれば環境が必要となるのは、当然のこと。というわけで、いよいよPythonのインストールです。って、Vine Linuxのパッケージには、Pythonも含まれていたはず。なぜ、インストールの必要があるのでしょうか?
それは、PythonをWindowsで動かしたいと思ったからなのでした。
Pythonは、マルチプラットフォームに対応しているプログラミング環境です。UNIX版だけではなくWindows版、Macintosh版と、多様な環境向けにリリースされていて、うまくすれば全環境に適応できるプログラミング技術を学べるかも! と思わず欲張りの虫が騒いでしまうのでした。
で、Windows版。なぜ、Macintosh版じゃないのかといいますと、Macintoshは現在OS Xという新環境と旧環境が入れ替わろうとしている時期で、少々ややこしいから、なのであります。旧環境もいまだ使い続けている自分としてはそれを見捨てるつもりもないのですが、やはり勉強するとなれば、ひとつ定まった環境においてのほうがよいでしょう?
WindowsもXPやらなんやらが出てるじゃん、といわれると困ってしまいますけど、うちにはWindows98しかないですから。これでいいんです。Linuxをインストールした意味ないじゃん、とはお願いですからいわないでください。
Pythonのインストールに関しては、ダウンロードしたインストーラに指示されるままに操作すれば終わり。簡単なものです。ですが、このままではShift-JISコード環境で問題ありということなので、ちょっと設定してやる必要があります。
方法はいろいろあるようですが、僕は日本語環境で Python (Idle) を使う (utf-8編) を参考に、ユニコードを扱えるようにしました。
手順は簡単で、作業もすぐに終わりました。こういった問題とその対策法が多数紹介されているというのは、非常に嬉しいですね。
環境が整ったので、Pythonを実際に使ってみることにしました。
Pythonは、対話モードでも使えますし、スクリプトファイルを読み込ませて使うこともできます。最初は、簡単にIdleという付属のエディタを用いて、対話モードから入門することにしました。
入門するとして、では一体なにからはじめるか? となると、僕は先にもいったように非常に素直な人間なので、print "Hello,
world!"
からはじめるに決まっています。実際、Python
Japan User's GroupのInstant
Hackingでもprint "Hello, world!"
から始まっていました。
プログラミングというのは目的ではなく手段であると、僕は思っています。今回の目的はプログラミングの学習なので、とにかくPythonに沢山触れて、プログラミングの基礎やら考え方を、自分の脳内に叩き込んでいきたいと思っています。
実際、Instant Hackingを一通り通過するだけで、自分の中の分かっているようで分かっていなかった部分が、少しずつほぐれてきているわけです。しかも、Python Japan User's GroupにはPythonソフトウェア作法という、チュートリアルページが用意されている。これは、実に期待大ですよ。とにかくこれらをこなすことで、プログラミングという考え方が身に付くとうれしいなあ。
Python導入にあたって苦労したのは、プログラミングやなんかではなく、DOSの操作そのものでした。Instant Hackingを、実際に自分もプログラムしながら読み進むときに、スクリプトファイルをPythonに読み込ませるというところでつまずいたのです。
単純な理由なんですけどね。カレントディレクトリから、Pythonへのパスとスクリプトファイルへのパスを両方書いてやればよかっただけ、なんですけどね。
僕は、こういうDOSの操作というのを忘れてしまっていたのでした。
実は、AUTOEXEC.BATを編集して、パスを指定しなくてもPythonを呼びだせるようにしようと思ったんだけど、どうもうまくいかなくて。正しく書いたつもりなんだけどうまくいかなかったのは、再起動を忘れていたためだろうか?
とまあこんな感じで、DOSの勉強もしなければならないのでした。
普通プログラムは、関数やif文なんかの範囲を示すために、{}が使われたり、endで閉じられたりします。これは、HTMLも同じですね。ですがPythonは、こういう手法をとらず、インデントの数で範囲を示すのです。
実は、僕はインデントが苦手です。僕のサイトのページソースを見ていただければ分かるでしょう。僕は、tableを書くときであっても、インデントしません。開始タグがあって終了タグがあればそれで充分分かるだろうという、とてつもなくいいかげんな理由です。
ですが、プログラムを書くときには、さすがに読みやすさに配慮して、インデントしています。でも、はたしてそれが読みやすいのかと問われるとすぐにはうなずけないのです。
読みやすいようにと思い、いいかげんな理にかなわないインデントをしている可能性が非常に高い。
なので、Pythonを学ぶことによって、美しいインデントの書法が身に付けば嬉しいなあ、と思っておる次第であります。