迎春 2007年1月
遅くなってしまいましたが、20枚くらい年賀状を出しました。
2006年の出来事
- IPA(情報処理推進機構)の未踏ソフトウェア創造事業(3月まで。テーマ:ソーシャルネットワーク型ラジオ放送のシステム開発)。埼玉県入間市のFM-Chappyにて音声投稿番組の実験。
- 未踏ソフトで開発したシステム「オラビー」の改良と評価のために谷中「アジマルカフェ」からインターネットラジオ放送の実験。
- 東京女子大学の非常勤講師として「コミュニケーション特論J」という講義を担当して、音声によるコミュニケーションとヒューマンインタフェースをテーマに半年いろいろ喋り、講義をポッドキャストで配信。
- 文部科学省・科研費特定領域研究「情報福祉の基礎」にて、東京女子大学/慶応義塾大学と視覚障害者支援技術の共同研究。早口合成音声の聴取実験、対面朗読者と視覚障害者の対話分析など。国際会議でニューヨークで出張。
- 千葉工業大学との共同研究で「頭部モーションセンサと音声を用いた対話インタフェース」の検討。
今年はこんな年に・・
物事をじっくり深く考えることの大切さと面白さ、基礎的な物事を勉強し直すことの重要さ、などなど再認識している今日この頃です。
今年の予定は、去年やり残した仕事を片づけることです。
だからあえて「安易に新しい抱負を作らない」ということを、今年の抱負にしたいと思います。。
若者たちに負けないように、先輩たちに負けないように、頑張ります。
プログラミング言語雑感
「基礎的な物事を勉強し直す」「安易に新しいことに手を出さない」という今年の抱負は、例えばこういうことだったりするが、年末年始に改めてPerlの勉強をした。
簡単なテキスト処理にはずっと昔から使っているのだが、最近の動向についていけてなくて。。
perldoc-jp のドキュメントを W-ZERO3[es] に入れて旅行中に読み、やっと言語コアの部分を読み終えた。
リファレンスとかモジュールとかの記法に目が慣れてきて、やっと中級者向けの参考書や雑誌記事が読めるようになった。
Windows + ActivePerl + Apache + Postgres + Eclipse (EPIC) という環境でさっそくいろいろ試している。
動いているプログラムをちょっとずつ拡張したいときに、1行か2行書き足すだけでやりたいことができる。
誰かが似たようなことをやってるのでは、と思えばネットで検索して情報を得られる。
面白そうなモジュールを探してインストールして試してみる。
やっぱり自分に合っているプログラミング言語だということを改めて認識した。
PHP で開発していて「ここから先はお手軽には書けない」という閉塞感を何度味わったことか。。
Perlが特に優れた言語だとは、いままで思っていなかった。
いや、いまでも言語そのものが優れているのかどうか、よくわからない。
Plagger のインストールをしながら、Linux の黎明期に味わった「インストールすることが自己目的的に楽しい」というあの感覚を久しぶりに思い出して、Perlというものがプログラミング言語というよりもOSのような存在に思えた。
Perlを巡る構造で重要なのはやっぱりコミュニティなのだろう。
Perlのある部分は「ガラクタの寄せ集め的言語」なのに、ある部分が「一貫性を重視したストイックでミニマルな言語」なのは、必ずしも先見性というわけではなく、むしろ「コミュニティのニーズを適切に反映してきた成果」だと思う。
僕が初めて触ったころの Perl はまだバージョン4だった。
そのことは C や sed や awk や sh を知っている人が、その知識を生かしつつ仕事を効率化するための言語だった。
改めて言語仕様を読み返すと、例外的なルールがいろいろあるにも関わらず、不自然さを感じない。
それは、実際に行われる仕事やユーザのことをよく理解して作られた仕様だったから、なのだと思う。
その思想は最新のバージョンにも反映されているように思われる。
そしてLinuxが成熟していく過程で有効に機能した(と思われる)コミュニティの構造に似ている。
言語仕様の策定にコンピュータやソフトウェアをビジネスとする企業や、公的な組織が入っていない。
- (a) オープンソースとして開発されるコア部分の開発者
- (b) アプリケーションやライブラリをバザール的に開発して提供するコントリビュター
- (c) コアとアプリをまとめて品質や互換性を確認して配布するディストリビューター
Linux: (a)カーネルの開発者 (b)GNUアプリケーションの開発者 (c) RedHatやDebianなどのディストリ
Perl: (a)Perl コアの開発者 (b)モジュールの開発者 (c) CPANというコミュニティ
ということになるだろうか。
Perl 6 の仕様に関する議論もちょっと読んでみたが、いかにも民主的に行われている、と感じる。
そんなわけで、今年は(久しぶりに) Perl に深入りしていきたい。