アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 連載 » モダンPerlの世界へようこそ » 第17回 Padre:Perlで拡張できるコミュニティのための開発環境

モダンPerlの世界へようこそ

第17回 Padre:Perlで拡張できるコミュニティのための開発環境

Perlを入れたはいいものの

ご存じのように,Perlには,簡単なコマンドであれば,いちいちスクリプトファイルを用意しなくてもコマンドライン上で実行できる-eというスイッチが用意されています。

> perl -e 'print "Hello, world!"'

また,一行では収まらないような長さのスクリプトでも,使い捨てでよければ,perlコマンドをスクリプトファイルや-eスイッチなしで実行することで,コンソールからスクリプトを入力できるようになります。

> perl
print "Hello, world!";
^D

とはいえ,まともにPerlを使おうと思ったら,何らかのテキストエディタが必要になります。Unix系の環境ではviとEmacsの系統がそれぞれ一大勢力を成していますが,Windows環境では,標準添付のメモ帳(notepad)があまりに貧弱なため,たいていの人は自分の好みのエディタをインストールして使っていることでしょう。筆者はもっぱら学生時代愛用していたVZ Editorの実質的な後継にあたるWZ Editorの古い版を利用していますが,国内では秀丸やEmEditor,xyzzy,海外ではNotepad++やUltraeditあたりが比較的よく使われているでしょうか。viやEmacsの仲間を移植したものを使っている人もいますが,Unix系の環境ほど圧倒的な勢力とはなっていません。

このように事実上標準と呼べるエディタがないことは,エディタに自分をあわせるのではなく,自分にあったエディタを使えるという意味では気楽なことですが,業務レベルで環境を構築するときには問題になることがありますし,リソースが分散されてしまう分Perlに特化した機能が用意される可能性も下がりますから,開発効率の点でも得とはいえません。そのため,特にWindowsへの移植が本格化した1997年頃から,おもに業務でWindowsを使っているユーザ向けにPerlの開発環境を用意しようという動きが見られるようになります。

KomodoとVisual Perl

その先頭を切ったのは例によってActiveState社でした。同社がオライリー社と協力して1998年に販売したWindows向けPerl Resource Kitには,Perlスクリプトをexeファイル化するツールや,ISAPI(Internet Server Application Programming Interface)用のライブラリなどのほか,Perlスクリプトのデバッグを容易にするための環境が付属していました。このキットは翌1999年にはPerl Development Kitと名を変え,現在に至るまで開発・販売が続けられています。

また,2000年にはそのPerl Dev Kitをより効率よく利用できるように,MozillaプラットフォームをベースにしたKomodoというIDEの開発が始まりました(2001年4月リリース)。これはMozillaプラットフォームを利用したはじめてのサードパーティ製品としても注目を浴びます。

同社はさらに,当時提携していたMicrosoft社との関係を活かしてVisual Perlと呼ばれるVisual Studio .NETのプラグインの開発にも着手します(2001年9月リリース。これはActiveState社が再独立した2006年に開発終了となりました)。

また,やや遅れて2003年には,EPIC(Eclipse Perl Integration)と呼ばれるEclipse向けの環境も登場しました。

これらの製品はそれぞれ欠点はあったものの,コードの色分けやデバッグ用の実行環境などを備え,一般的な開発を行う分には十分実用的でした。

が,これらは一般のユーザが使うにはいろいろな意味で導入コストが高すぎたせいか,結局いずれもそれほど大きなシェアを獲得するには至らず,Perl用のエディタがほしいという欲求は熾火のようにくすぶり続けます。

そのひとつの発露が2004年に生まれたProton CE,のちのKephraでした。

Proton CE

このProton CEは,1999年に最初の公開版が出たScintillaというソースコード編集用に各種機能を搭載したエディタ向けコンポーネントと,イタリアのマッティーア・バルボン(Mattia Barbon)氏が2000年にサポートを開始したWxを利用してつくられた,Perl製のテキストエディタです。

Scintillaは,もともとはPythonの世界で同じような欲求のもと1994年頃に生まれたPythonWinプロジェクトに付属していたエディタ用コンポーネントの貧弱さを改善するために生まれたもの。

Wx(wxPerlと表記されることもあります)は,1992年に開発が始まったwxWidgets(当時の名前はwxWindows)というクロスプラットフォームなGUIツールキットをPerlから利用するためのインタフェースで,コンポーネントの描画を自前で行わず,環境に応じて適切なAPIを呼ぶという特徴があるため,特にWindows環境では当時よく使われていたTkGtk,そしてちょうどこの頃切り替えが行われていたGtk2を使った場合に比べてより自然な外見になる,というメリットがありました。

当時のProton CEは,Scintillaのデモ用エディタSciTE60~70%程度の機能しかなく,それほど注目を集めたわけではありませんが,サンプルの実装としては手頃だったようです。これに目を付けたのが前回も登場したアダム・ケネディ氏でした。

2つの助成金

「(言語としての)Perlの構文はあまりに複雑・動的すぎて,(その実装である)perlでしか解析できない(Only perl can parse Perl)」と言われることがありますが,同氏は2002年にPPIというプロジェクトを立ち上げて,Pure PerlでPerlスクリプトの構造を解析する努力を始めていました。

その目的はPPIのドキュメントにいろいろ書かれていますが,スクリプトの構造が解析できれば複雑な正規表現を使わなくても構文の色分けができるようになりますし,ドキュメントの自動生成やコードの整形をしたり,関数や変数の一覧を用意してコード記述時のヒントにすることも簡単になる,といった具合に,その多くはPerlの統合開発環境づくりを見据えたものとなっていました。

このPPIプロジェクトは2年間の努力の末,最後のラストスパートをかけるために2004年にPerl Foundationから助成金を受け,2005年7月に最初の正式版となる1.000がリリースされます。

氏は再度Perl Foundationの助成金を受けて,Perlでエディタを書くときに使えるようにPPIを拡張しながら,File::HomeDirを書き直したり,File::ShareDirFile::UserConfigといったモジュールを作成したりといった具合に周辺モジュールの整備にも力を入れます。また,Proton CEをCPANに登録するための準備や,App::GUI::Notepadと呼ばれる実験的なアプリケーションの作成にも協力します。

著者プロフィール

石垣憲一(いしがきけんいち)

あるときは翻訳家。あるときはPerlプログラマ。先日『カクテルホントのうんちく話』(柴田書店)を上梓。最新刊は『ガリア戦記』(平凡社ライブラリー)。

URLhttp://d.hatena.ne.jp/charsbar/

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

C/C++プログラマのためのDTrace入門

よくカーネルのチューニングや解析で活用されるDTraceですが,実はユーザプログラムの開発においても非常に有用です。連載ではC/C++プログラマやテストに関わる方向けにDTraceの使い方を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

検索エンジンはいかにして動くのか?

本連載では, 今や誰もが利用している検索エンジンの中身を,全体の仕組みやデータ構造,アルゴリズムから分散インデックスまで,最近の研究事例も交えて紹介します。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス