Wall: Perl 3と4の変化はほんのわずかです。最初のラクダ本が出版された時点で、バージョン番号を3から4にあげたのです。
Perl 4から5では大きな変化がありました。「難しいことも可能に」の精神で、Perl 4ではさまざまなデータベースに接続できるようにしました。しかし、Perl 4では、機能を拡張するには、その機能を組み込んだ「特別仕立てのPerl」を用意する必要がありました。例えば、Oracleへのアクセス機能を追加したoraperl、Sybaseへのアクセス機能を追加したsyperlといった具合です。また、Tkツールキットを組み込んだtkperlというものもありました。OracleとSybaseに同時にアクセスしたいから「orasyperlが欲しい」などとジョークを言ったものです。
まあ、それはいいとして、こうしたことが起こっているのをみて、私はPerlの拡張性を高め、C言語で記述されたいかなるインターフェースとも話ができるようにする必要があると感じ始めたのです。そこでモジュール機能の開発にとりかかりました。モジュール機能はPerl 5に組み込まれました。
モジュールのリポジトリとして生まれたのがCPAN(Comprehensive Perl Archive Network)で、これは2006年で10周年を迎えます。2006年3月29日時点で9784個ものモジュールが公開されています。このように多数のモジュールが開発されたことにより、Perlはとても強力になりましたが、反面大きな問題を生み出す要因にもなりました。ちょうどoraperlとsyperlがうまく共存できなかったのと同じように、CPANのモジュール同士でも衝突が起き始めました。
例えば、モジュールAが、モジュールXのバージョン1.0を内部的に使用していたとします。そしてモジュールBは、モジュールXのバージョン2.0を内部で使用していたとしましょう。ここで、あなたが書いたプログラムでは、モジュールAとBの両方を使いたいとしましょう。モジュールAとBは、共にモジュールXを使用するのですが、それぞれ必要とするバージョンが違うので、プログラムは動きません。
こうした衝突を解消しようと言うのもPerl 6の大きな目標の1つで、同じモジュールについて複数のバージョン、複数のバリエーションを許容できるようにする予定です。
近藤: Perl 5から6へはどう変わるでしょうか。
Wall: Perl 5は、かなり汎用なプログラミング言語に成長しました。オブジェクト指向プログラミングにも使えますし、関数プログラミングにも、ロジックプログラミングにも使えます。それだけに我々はPerlがどのようなことに使われるのか、それぞれの用途においてPerlのどのような仕様が重要なのかに注目しました。
Perl 6も、あらゆる用途に使われる言語になります。こうした多彩な要求を満たすには、プログラムの用途に応じて、その用途に適したパラダイムに切り替えることができるといった柔軟性が必要だと思っています。
近藤: ところで、Perlの普及にとって、インターネットブームの到来はかなりのインパクトを与えましたね。
Wall: それは大きな事件でした。我々からみれば、ちょうどいいタイミングで、ちょうどいい形で起きた事件です。私はこの時点で、Perlがマルチパラダイムの言語となりつつあるのを実感していました。
インターネットの黎明期では、HTML、つまりテキスト処理を得意とする言語が求められていました。また、さまざまなデータベースを利用するための機能も必要でした。Perlは、いい具合にどちらの用途にも使える「glue(ノリ付け)」的言語という立ち位置にあったのです。
これは我々にとってPerl 6へのいい教訓でもあります。これから先の20年で「インターネット」の次に来る物が何であるかを我々はまだ知りません。我々が謙虚な態度をとりつづけ、ユーザーのやりたいことができるようにすれば、そうした新しい変化にも柔軟に対応できると思います。
近藤: ところで、古いバージョンのPerlのソースコードは全部取ってあるんですか。
Wall: Perl 1のコードはウェブで公開されているので、ダウンロードしてコンパイルすることもできますよ。2や3については、まだ残っているかなぁ。
関連情報
-
LAMPのセキュリティは優秀--米でオープンソースソフトのバグ調査
オープンソースソフトウェアのなかで最も人気の高いLAMPスタックは、バグの数も最も少ないことが、コード解析ツールメーカーのCoverityらが行った調査の結果から明らかになった。 - ヤフー
「インタビュー」 のバックナンバー
-
カスペルスキー会長が語る:ロシア市場、IPO、企業買収、業界再編
ネット企業が続々とIPOに向けて準備を進めるロシアのIT市場。カスペルスキーも昨年8月、IPOを視野に入れた組織再編を実施した。同社会長のナタリア・カスペルスキー氏にロシア市場や企業戦略について話を聞いた。 -
B・ゲイツ氏、MS常任会長退任インタビュー--創業期から今後まで(後編)
-
B・ゲイツ氏、MS常任会長退任インタビュー--創業期から今後まで(前編)
-
MS開発トップが語る「Windows 7」(後編)
-
MS開発トップが語る「Windows 7」(中編)
- インタビュー 一覧へ »
ZDNet Japan Essential Topic
-
【今注目のIT企業は何を考える…??】
オススメIT系求人情報も毎週月曜日更新! -
コラボレーション基盤特集
Notes置換とバージョンアップの情報はこちら
企画特集
-
ZDNet Japan ホスティング特集
2008年夏のホスティングサービスのトレンドは何? -
APC SOLUTIONS FORUM 2008をレポート
電源、冷却の効率化によるエネルギー削減とは? -
サーバ仮想化・グリーン化の利点を最大化!
そ多機能・高価値なNetAppストレージの秘密とは -
Webセキュリティ特集
Web2.0時代の脅威へ対抗するためのソリューションとは? -
ZDNet Japan Green IT
サミットだけでは終わらせない!エンタープライズの取り組みはこれからだ! -
「シンプル」&「低コスト」な運用管理
IT運用管理に関するアンケート実施中! -
Techno Exchange
RackableとCTCの地球にやさしい関係 -
ログ管理ソリューション特集
セキュリティ、コンプライアンス対策で注目度アップ! -
セキュリティ対策レベルテスト公開!
自社のセキュリティのウイークポイントはドコ? -
Secure Web
Web2.0時代にプロアクティブなセキュリティを実現!! -
IronPort Sシリーズ
Webからの脅威に関する課題の3つの解決方法 -
【ログ管理】Logstorage、SecureEagle/SIM
内部統制のためのソリューションを紹介!
ZDNet Japan イベント
- 開催日:2008年9月29日(月)
- イベント一覧へ»