2016年12月22日木曜日

Python を知った昔のお話

この記事は『PyCon JP Advent Calendar 2016』『PyCon JP Advent Calendar 2016』 22日目の投稿です。余裕ぶっこいていたらこんなに遅くなってしまいました。

PyCon JP スタッフではありません。札幌在住のソフトウェア技術者です。昔々の Python との出会いと、長い年月を経て Python 界隈に戻ってきたお話をします。

Python との出会いは、1995年の夏ではなかったかと思います。

当時は仕事でマイナーな UNIX マシンを使っていて、SunOS などメジャーな UNIX 用に開発されたフリーソフトウェアをせっせと移植して使う日々でした。

そのころ仕事で使っていた開発言語は USL の C++ 2.0、テンプレートも例外も無かった頃のものです。あの頃をあれこれ思い出してみると…


  • Java, Ruby, PHP なんかが登場しようとしてたころ
  • C++ 以外でオブジェクト指向プログラミングしたいと思ってたころ
  • Perl 5 のオブジェクト指向サポートにがっかりしていたころ


今は亡き秋葉の Laser 5 で洋書のフリーソフトウェアカタログを購入したのもそんなころ。その中にあった "object-oriented scripting language" なるキーワードが目にとまりました。これが Python との初めての出会いです。このときの Python のバージョンは 1.2〜1.3 ぐらいかと。

メソッド定義の第一引数にselfって、何その実現方法丸出しぃって印象でしたが、perl 5 よりははるかにましだったということもあり、使い初めてみたのでした。言語仕様は気に入ったものの、ブロックにインデントを使うというこだわりは、エディタの手厚いサポートがないと実用的じゃないので、こりゃ絶対メジャーな言語にはなれないなと思ったもんです。私自身、emacs の python モードを見つけなかったら(当時は標準で無かったはず)たぶん使う気にならなかったでしょう。

日本語文献は皆無だったので、Reference Manual をかいつまんで読んで言語仕様の細かいところを調べてました。そんなさなかに 鈴木さん@OTSL が Tutorial の日本語訳を出してくれました。これは私も貢献せねばと、つまみ喰い状態の Reference Manual の訳を強引に進め、拙い和訳を NetNews の fj.comp.lang.misc に出しました。




ちなみに、当時の Python ドキュメントは LaTeX で書かれていました。当時の日本語対応のTeX は ASCII版jTeX と NTT版 日本語TeX の2派があって、微妙に互換が無くてなかなかに困りものでした。仕事で使っていたのがNTT版だったので、開き直ってNTT版オンリーで公開しました。

反響はどの程度あったのかはぜんぜんわかりません。鈴木さん@OTSL からは修正コメントをいただきました。しかしそのころから、仕事が非常に忙しくなり、そうこうしているうちに Java が出てきたり、ちょっとした書き捨てスクリプトを書くには Perl が便利だったりして、仕事で使っていない Python から離れてしまいました。Reference Manual の修正版出せず、鈴木さん@OTSL には申し訳なく思っております。

21年の歳月が経ち、予想をよい意味で裏切ってくれて、Python もすっかりメジャーな言語になりました。私も仕事で Python 使うことになったので、先日札幌で開催された Python Boot Camp に参加し、Python 再入門させていただきました。PyCon JPを知ったのもこのときが初めてです。(2015には札幌で PyCon mini が開催されていたのですね。行きたかった...)

Boot Camp の懇親会にも参加させていただき、地域コミュニティの話も出ました。札幌には元々「Python 札幌」というコミュニティがあることは知っていたので、先日、運営していた方の話を聞いたら休止状態とのことでした。道内コミュニティには何かとスタッフ人材の道外流出という問題がつきまとう模様。そんな残念な状況なので、札幌近郊のコミュニティを再活性化したいところ。1人では何かと大変なので仲間になってくれる方がいれば嬉しいです。とりあえず7月 OSC Hokkaido では何かやろうと思ってます。PyCon JP
スタッフはもうちょっと様子を見ようと思います。「リモートにぎやかし」って枠はないのですかね(笑)

それでは、とりとめもない話でしたが、昔を懐かしんで書いてみました。

0 件のコメント:

コメントを投稿