blog

Heroes of Code|ヒーローズ・オブ・コード シーズン3:Perl言語の世界に飛び込む

Perlは驚異的な上昇と静かな低迷を経て、今ではプログラミングの世界でその地位を確立しています。...

Oct 23, 2025 · 16 min. read
シェア

ヒーローズ・オブ・コード」は、開発者、プログラマー、ハッカー、ギーク、オープンソースの反逆者たちが、いかにしてテクノロジーの未来に革命を起こしたかという真実の叙事詩です。

コードヒーローズとは?

この記事は、ポッドキャストシリーズ」のスクリプトです。

はじめに:言語は移り変わります。Perlは驚異的な上昇と静かな低迷を経験し、今ではプログラミングの世界でその地位を確立しています。

Perlはウェブを支配する運命にあるようです。 Michael StevensonとMike Bursellは、Perlの設計がいかに初期のウェブに理想的であったかを説明します。Elizabeth Mattijsenは、Perlの長所にもかかわらず、長い開発サイクルがいかにPerlの成長を遅らせたかを語っています。Perlはもはやトップウェブ言語ではありませんが、John Siracusaは、Perlが今でもニッチなツールとして存在していることを指摘しています。

::

Perl言語の生みの親であるラリー・ウォールが、1999年のカンファレンスで、トレードマークの濃い髭と櫛で整えた前髪でマイクの前に立っている姿を想像してみてください。

::

サウンドテスト。

::

PerlはCOBOL、Visual Basic、そしてPythonを簡単に超えた? Pythonは依然として印象に残らない候補で、 コードヒーローズ レポートからクラウドソースされたデータを示したLarry Wallのジョークのネタにされ、当時はPerl言語の未来がとてもとても明るく見えました。しかし、Perlの未来はそれ以来変わっておらず、20年後の2018年夏、dice.comは Perlを絶滅する可能性が最も高い言語の1つに挙げています。わずか20年の間に何が起こったのでしょうか?

::

すべての言語がノンストップの成長とサクセスストーリーを持つわけではありません。たいていの言語は、その時々の特定のエコシステムでその役割を果たし、他の種類のツールがプログラミング生活に必要とされるようになると、衰退し始めます。

::

このエピソードでは、Perlの世界を深く掘り下げます。初期の成功の要因は何だったのか、そしてなぜその成功が突然ひっくり返ったのか。環境、インフラ、ハードウェア、あらゆる要因が、どの言語が栄え、どの言語が衰退し始めるかを決定します。それがPerlの物語の魅力です。

::

1991年にティム・バーナーズ=リーによって発明されたPerlは、ウェブベースの開発という全く新しい領域を瞬く間に生み出しました。どのプログラミング言語がこの新しい分野で成功するかは誰にもわかりません。

::

ウェブが登場したとき、誰もが何かが起こるのを待っていました。当時、世界はエキサイティングでした。

::

マイケル・スティーブンソンはメディア研究の准教授。人々はユーズネットを見たり、ARPANETを見たりしていました。しかし、ウェブが登場するまで、インターネットの潜在的な可能性を完全に理解することはできませんでした。突然、マウスを使ってクリックするだけで、この巨大な接続された世界にアクセスできるようになったのです。それは予想外のことでした。

::

1993年といえば、ウェブが本領を発揮し始めた年です。Mondo2000』のような雑誌は、コンピュータを難解な知識の源のように見せ、コンピュータをクールに見せていました。

::

そういう意味では、ウェブもまた、人々がこのような形でテクノロジーの台頭を受け入れる準備が整った、かなり特殊な時期に到来したのです。

::

ラリー・ウォールがPerlを作ったのは1987年、ワールド・ワイド・ウェブが軌道に乗り始めて4年後のことでした。ラリー・ウォールが世に送り出したPerlは、最初は汎用のUnixスクリプト言語でした。確かに便利でしたが、Perlには、来るべきウェブ開発の世界にとって理想的な言語となる秘密の要素もあったのです。

::

もっと有名な話ですが、Perlはラリー・ウォールがNSAの極秘プロジェクトに参加していたときに発明したものです。 基本的に、彼がやったのはユーズネット上で動くニュースセクションのハッカー的なバージョンを作ることでしたから、Perl言語はテキストを操作したり、データをあちこちに移動させたりする方法として始まったのです。また、Perlは使いやすいスクリプト言語であるため、より自然言語に近いと言えます。Perlは、プロユーザーだけでなく、趣味の初心者にもぴったりです。

::

ウェブが登場したときにPerlがウェブに対応できていたのは僥倖であり、ラリー・ウォールはウェブが登場することを知ることができなかったのです。ラリー・ウォールはウェブが来るとは知りえなかったはずですが、たまたまその時に重なったのです。Perlはフリー言語であり、ラリー・ウォールはそれをGPLの下でリリースしました。

::

ラリー・ウォールが自身の言語をフリーでオープンソースにするという決断を下したことは、まさに出現し始めた新しいウェブベースの考え方と完全に一致していますし、Perlは他の点でも先進的です。

::

Perlは信じられないほどオープンで、常に何か他のもの、新しいものを統合しようとする姿勢があります。これはラリー・ウォールという人物とよく合っています。彼はとてもオープンで謙虚な人で、常に他の人のアイデアを注意深く検討し、他の人の立場に立とうとしています。私にとって、Perlの言語としての性格、そして長きにわたるコミュニティとしての性格は、まさにそれにぴったりです。

::

Perlはまた、ウェブの初期、ワイルドウエストの段階、つまりハッカーの時代にも適しています。実際、Perlのモットーのひとつは「".

::

Perlの全盛期と、実験的なオープンウェブの全盛期の間には、いくつかのプラットフォームに支配される前の、ほとんどロマンチックなつながりがあります。

::

1990年代は、インターネットの歴史において啓蒙の時期であり、人々はまだ他に何が可能かを見つけ出そうと躍起になっていたことを覚えておいてください。プログラミングの需要は大きく、誰もがウェブページを持つ必要があり、それは新しいやり方を受け入れるまったく新しい開発者集団を意味していました。そこで問題になったのは、「新しいフロンティアはあるけれど、どの言語で仕事をすればいいのか」ということでした。

::

Perlはこの質問に対する最終的な答えではありませんが、多くの人にとってPerlは好ましい答えです。

::

ロードが超遅いウェブページやGoogle検索エンジンがない時代の方がいいとは言いませんが、寮の部屋で数人がスラッシュドットのようなものを作ったあの時代には特別なものがあったと思います。そして今、ウェブは主流になり、専門化され、少数の大企業に集中しているため、懐かしく思えます。私にとって、Perlは他のどの初期の物語よりもこれを象徴しています。

::

マイケル・スティーブンソンはアムステルダム大学メディア研究准教授。

::

そして90年代が近づくにつれ、Perlは初期のインターネットの可能性に適応できる当時の言語として台頭し、ラリー・ウォールと彼が作ったPerlは、ウェブの本質を正確に理解していました。

::

オンラインで好きなだけ検索し、好きなときにウェブページを作成することができる、それはインターネットの美しく新しい世界であり、好きなときにこれらのことができます。

::

レッドハットのチーフ・セキュリティ・アーキテクト、マイク・バーセルです。 マイクは90年代半ばにPerlを発見し、使用したハッカーの一人です。

::

Java言語はまだ初期段階にあり、テキストの入出力は得意ではありませんでした。クエリーを実行したり、ページを生成したりしたいのであれば、Perlは人々が使っているツールです。

::

Perlは、テキストを取得し、それを使って他のことをするのが得意なので、ウェブに必要なものにぴったりです。

::

ちなみに、ラリー・ウォールは言語学のバックグラウンドを持っており、Perlに優れたテキスト解析機能があるのもそのためです。マイク・バーセルが言っていたように、当時はイメージを処理するのに十分な帯域幅がなかったため、ウェブは主にテキストベースのメディアでした。

::

使いやすいし、コピーも簡単。人々は共有することにとてもオープンで、出力も速い。

::

もうひとつは、もちろんパイプラインで使えるということです。つまり、多くの人が慣れ親しんでいるものであり、オフラインでも簡単にテストできるので、とても便利です。

::

特に、ウェブの世界で自分たちの生活を再構築しようとしているシスアドに役立ちます。

::

Perlはシスアドにとって本当にありがたいものでした。当時でも、何かをすれば、たくさんのログを取得しました。それらのログを管理し、分解し、検索し、さまざまな方法で表示したり、その他の大規模なテキストコーパスを取得したり、さらにはデバッグしたり。コマンドラインでorcやsedやedコマンドのようなものをパイピングしているのでなければ、そのような場合はすぐに本当に面倒なことになりますが、Perlはそのようなことに対処するのにちょうどいいのです。

::

1990年代後半までに、Perl 5は強力なユーザーベースを集めました。FortranやCのような古い言語は、大規模で高価なハードウェアに依存していましたが、Perlはより現実的で移植が容易でした。Perlの設計により、ハードウェアのコストが急落していた世界でもPerlは繁栄し、Perlはすべての新しいプログラマーが素早く簡単に作業できるようになりました。これは、ラリー・ウォールがPerlの構文をよりユーザーフレンドリーにすることで、CPUやメモリの要件を犠牲にしたためです。これらの要素が組み合わさって、Perlは新しい開発コミュニティに非常に人気のある言語となったのです。

::

そしてPerlMonksのフォーラムが登場し、フォーラムで何が起こっているかを知ることができるようになりました。

::

このコミュニティは本当にウェブが提供するもののベストを持っています。彼らはソフトウェアモジュールの巨大なリポジトリ、CPANと呼ばれるリポジトリを発見し、これらのシスアドはそれが大好きです。Perlに柔軟性を与え、一握りのプログラミングの達人が書いたコードを多くの人がデプロイできるようになりました。

::

もし欲しいライブラリが見つからなければ、それを要求すれば、親切な人が欲しいライブラリを書いてくれます。

::

マイク・バーセルはレッドハットのチーフ・セキュリティ・アーキテクト。

::

Perlはフリーで、モジュールのライブラリも充実しており、ポータブルで、コミュニティも盛んです。Perlは、1990年代の新しいWeb開発の世界で、あらゆる利点を発揮することができました。

::

しかし、非合理的な高揚感が資産価値を過度に押し上げ、それが長期的な経済の予想外の収縮につながったことを、どうやって知ることができるのでしょうか?

::

「非合理的な高揚」とは、1996年に当時の連邦準備制度理事会(FRB)議長だったアラン・グリーンスパンが言った言葉です。彼の「非合理的な高揚」は、誰もが経験した1990年代のドットコムバブルに対する警告でした。初期のPerlウェブ開発者たちは皆、そのバブルの波に乗りましたが、グリーンスパンの予言通り、2000年にバブルは崩壊しました。

:

::

コナーが高校生だった2000年代初頭は、まだPerlが盛んでした。しかし、彼はPythonという競合言語の存在を次第に意識するようになりました。

::

Pythonはより構造化された言語であることを目指し、様々なことを行うためのより明白な方法を備えており、そのように設計されています。一方Perlは、何かを行うための複数の方法を持つことを好みますが、これは多くの初心者を混乱させます。

::

Perlのモットーは「」です。Pythonの哲学は実は正反対で、Pythonはあらゆる問題に対して明白な解決策を提供します。つまり、他人のPythonコードを見るのは簡単ですが、他人のPerlコードを見るのは混乱します。スクリプトはインターネット接続の基本です。

::

Perlには、テキスト検索やバイオインフォマティクスなど、特定の強みがあります。しかし、Pythonはとてもシンプルで汎用的な言語です。Pythonが、人々が最初に学びたい言語として、ますます信頼を得ているのは大きなことです。

::

より多くの人々がオンラインに接続し、より多くの人々がプログラミングを学んでいます。特にPythonは、Perlとは対照的に構造化されているため、本質的に比較的学習しやすいという利点があります。その結果、急速に成長する世界において、あなたがその成長のより多くのシェアを得ることができれば、それは最終的に、より多くのチュートリアルと、より多くのものをあなたが使うことができるようになることを意味します。

::

CPANは、前述のように、Perlユーザーが利用できる強力な中央リポジトリです。これは90年代には大きな魅力でしたが、CPANの価値は変わりました。

::

::

PythonにはCPANのような集中リポジトリはありませんが、新しい千年紀にここに来た開発者にとって、インターネット検索がとても強力な世界では、リポジトリはそれほど価値のあるものではありません。

::

やがてPythonは膨大な数のチュートリアルを持つようになり、今ではもちろんGitHubのようなプラットフォームもあります。

::

結局のところ、Perlの利点の多くは、今では時代遅れとなった時代のネットワーク効果なのです。

::

Conor MyhrvoldはUberのエンジニア。

::

Pythonはかなり整然と新しいイテレーションをリリースしており、今四半期の最初のエピソードで学んだように、Perlは2000年のドットコムバブル崩壊の真っ只中にいました。Pythonは2000年のドットコムバブルの崩壊とともに、より多くの新しい開発者に支持され始めました。

::

誰もがPerl 6のリリースを心待ちにしています。待って待って、14年間も待っていたのです。

::

Perl6でできるようになるはずだと提案されていることは300ほどありますが、もちろんその多くは互いに排他的なものです。

::

これはPerl 6のコア開発者であるElizabeth Mattijsenです。 Elizabethは2000年のPerlカンファレンスに参加しました。当時、開発者たちは自分たちが停滞していると感じており、Perl 6が必要だと考えていました。 Larry Wallも同意していましたが、Perl 5が彼のPerlの書き換えだとすれば、Perl 6はコミュニティによるPerlの書き換えであってほしいと考えていました。チームワークには14年という長い時間がかかることもあり、開発者たちにとっては長く険しい道のりでした。

::

現在のPerl 6プロジェクトは、それを実現するための3回目の試みであるとも言えます。

::

::

ラリー・ウォールは彼の "トーク "の中で良い例えを使っていると思います。彼にとってPerl 5は""のようなもので、Perl 6は""のようなものです。ホビット』と『ロード・オブ・ザ・リング』の物語をよく読んでみると、基本的には同じ物語であることがわかります。ただ、『ホビット』は『ロード・オブ・ザ・リング』よりもずっと規模が小さく、筋書きの穴が多く、『ロード・オブ・ザ・リング』ほど壮大な舞台がないだけです。これはPerl 5とPerl 6の違いをよく表していると思います。基本的には同じアイデア、同じ考え方、同じ設定で、それを再構築しただけです。

::

Elizabeth MattijsenはPerl 6の中心的貢献者です。

::

今日、Perlは上位20言語にも入っていないかもしれません。外的な競争と内部的な遅れの間に、Perlはまだほとんどの新しい開発者にその存在を証明できていないのです。しかしこのことは、プログラミング言語をその人気で本当に判断すべきなのかという大きな疑問を提起しています。それとも、プログラミング言語の価値は何か別のものによって判断されるべきなのでしょうか?往年のスーパースターが仲間になることの本当の意味とは?

::

今世紀に入ってインターネットバブルが崩壊し、Perlの優位性が失われ始めたとき、ラリー・ウォールは興味深い発言をしました。彼は、Perlが再び世界で最も人気のあるプログラミング言語になることはないだろうが、より小さなカテゴリーでリーダーになることは可能だと主張しました。世界一ではなく、そのクラスで一番になること。彼が言うように、SUVがレーシングカーと競争することはないでしょう。

::

私はこの考えをもっと掘り下げて、ニッチなカテゴリーで一番になることがプログラミング言語にとって本当は何を意味するのかを理解したかったのです。

::

プログラマーでポッドキャスターのジョン・シラクサです。

::

::

Perlは現在、世界でどのような地位にあるのでしょうか?今でも最高のコンピュータ言語なのでしょうか?

::

Perl 6には他の言語が持っていないもの、他の言語が持つべきものがあり、私は他の言語がそれを盗むのを待っていました。例えば構文は、一般的なタスクを概念化するための素晴らしい方法であり、構文解析の問題を解決するために構文を使用することは、私の意見では、既存のツールを使用するよりも快適でクリーンで優れています。

::

Perlのオブジェクトシステムの多くは些細で無関係に見えますが、多くの言語が最終的にPerl 5のアイデアの多くを採用したように、他の言語も最終的に採用することを十分に期待しています。ですから、Perl 6はいろいろな意味で最高だと思います。残念ながら、Perl 6を使う機会がある人はほとんどいません。

::

Perl 6コミュニティが成長するためには何が必要だと思いますか?人々がPerl 6にもっと参加するためには、何をする必要がありますか?

::

これはPerl 6の話のようなもので、本当に素晴らしい実装を探し求めていたようなものです。これは第二のシステム問題の一部です。

::

ああ。

::

Perl 6では、世界中のあらゆる問題を解決しようとしました。彼らが直したかった問題のひとつは、ランタイム環境でした。何がコードを動かしているのか?Perl 5とPerl 4を動かしているのは、ユニークなコーディングスタイルの開発者によって書かれた巨大なCプログラムです。マクロもたくさんあり、理解するのはちょっと難しいです。

::

Perl 6のアイデアは、そんなことはもうやめよう、Cのコードをたくさん作るのはやめよう、というものでした。その代わりに仮想マシンを使おうというもので、当時は流行でしたし、その実装方法については素晴らしいアイデアがたくさんありました。最終的には、いくつかのささやかな仮想マシンの実装が登場し、時には互いに競合することもありましたが、実際に使用する言語を提供するのに必要な性能、安定性、機能を実現したものはありませんでした。

::

今日のPerlに何が起こっているのでしょうか?それについてどう思いますか?

::

Perl 5と同時期に開発された他の言語は、Perl 5の優れたアイデアのほとんどを採用し、より多くの支持を得たからです。とはいえ、Perl 5は長い間王者であったため、Perl 5のコードが大規模で重要なサイトを動かしており、人々はその保守や拡張を必要としています。

::

これがなくなるには長い時間がかかるでしょう。現在も存在するCOBOLや、COBOLのメンテナンスのために人を雇っている現状を見てください。

::

ああそれでいい

::

あなたは今、Perlは滅びゆく言語なのかと尋ね、私はCOBOLを挙げましたが、それは期待できそうにありません。それはなさそうです。今、他の言語に注目が集まっていますが、もしPerl 6が開発者から注目されていないのであれば、普及させるためにどのような変化が必要なのかわかりません。

::

もしそうなら、Perlに何を期待しますか?また、Perl 5やPerl 6に何を期待しますか?

::

::

結局のところ、Perlは使い始めるには良い言語ではないかもしれませんが、経験豊富な多言語開発者にとっては、ツールボックスの中にある小さなツールで、決して捨てたくはありません。

::

Perl6はもうどこにも行かないんじゃないかと悲しくなったり、もどかしく思ったりすることもあれば、「まあ、小さないいコミュニティだよね」と思うこともあります。どのコミュニティも世界を支配する必要はないし、業界の支配的な言語になる必要もありません。もしかしたら、いつまでも続いていくかもしれません。それがオープンソースやプログラミング言語の素晴らしいところです。誰もあなたを止めることはできませんし、あなたはこれまでと同じようにPerl 6の開発を続けることができます。

::

ジョン・シラクーサはプログラマーで、3つの技術系ポッドキャストの共同司会者。

::

言語にはライフサイクルがあります。新しい言語が登場すれば、新しい現実に的確に適応することができ、Perlのような選択肢はより小さくニッチな領域を占めるかもしれませんが、それは悪いことではありません。言語は、ニーズの変化に応じてコミュニティを拡大したり縮小したりすべきなのです。Perlは、インターネット開発の初期の歴史において重要な役割を果たし、その歴史を見ればわかるように、さまざまな形でインターネットと結びついてきました。

::

次回のCode Heroesでは、「何が言語を標準に変えるのか?そして、クラウドベースの開発の世界で新しい標準はどのように生まれるのでしょうか?

::

::

次号、コーディングより。

LCTT SIGおよびLCTT LCRH SIGとは何ですか?

参加して貢献すると、レッドハットと共同貢献者限定の証明書が発行されます。

Read next