Perl開発者のラリー・ウォールが唱えた「プログラマの三大美徳」

記事監修
(株)ライトコード代表取締役 金城直樹
元フリーランスエンジニア。「自分で作ったものを自分で触れないのは物足りない」と考え、BtoC向けのWebアプリ・モバイルアプリ開発を専門とした(株)ライトコードを2011年に創業。
「好きを仕事にするエンジニア集団」を掲げ、現在、50人以上のエンジニアを束ねる。会社経営の傍ら、今だに第一線で活躍するエンジニアでもある。開発のことなら何でもござれな「何でも屋」。趣味は釣り。

記事を3行で解説

➀Perlは、ラリー・ウォールが「面倒くさい作業を楽にする」ために開発したテキスト処理に強いスクリプト言語。

➁「怠惰・短気・傲慢」はプログラマの美徳とされ、Perlの哲学と普及に大きく貢献。

➂オープンソースと豊富なライブラリで90年代インターネットを支え、今も影響を残している。


戦士戦士
あー、あっつ~!
もう今日は仕事やりたくない~
スライム師匠スライム師匠
「怠惰」!
良いことじゃ!
戦士戦士
なんですか?
イラっとするんですが
スライム師匠スライム師匠
「短気」!
素晴らしい!
戦士戦士
私が素晴らしいのは当たり前ですけどね!
スライム師匠スライム師匠
「傲慢」!
完璧じゃ!
戦士戦士
なんですか、気持ち悪い
聖徳聖徳
「怠惰」「短気」「傲慢」は「プログラマの三大美徳」と呼ばれているのである~
戦士戦士
どれも悪い言葉としか思えませんけど…
スライム師匠スライム師匠
Perlを開発したラリー・ウォールが言った言葉じゃ
戦士戦士
あ~!
あのラクダの本の?
聖徳聖徳
実は~、Perlのバージョン6は「Raku」と改名されたのである~
戦士戦士
今は、Perlじゃなくて「Raku」って名前なの!?
スライム師匠スライム師匠
かつては誰もが使っていたメジャーな言語「Perl」。
ラリー・ウォールはなぜこの言語を作ったのか詳しく解説するぞい
目次

インターネットの発展に貢献したプログラミング言語「Perl」

「Perl」はテキスト処理に優れ、強力な正規表現を備えた汎用スクリプト言語

オープンソースなので誰でも利用でき、UNIX や Windows、Linux などの環境を選ばず動作します。

初期のWEBサイトは静的なページばかりでしたが、やがてブラウザから入力された情報を表示に反映させる動的なページが求められるようになりました。

そのためにはサーバ側でプログラムの処理を行わなけばなりません。

この仕組みをCGI(Common Gateway Interface)といいますが、ここでテキスト処理に優れたPerlが活躍していたのです!

そんな、インターネット黎明期を支えた「Perl」。

Perlを生み出した「ラリー・ウォール」とは、どんな人物だったか見ていきましょう!

ラリー・ウォールは、Perlを生み出した言語学者のプログラマ

本名、「ラリー・アーノルド・ウォール」は1954年に生まれ、ワシントン州ブレマートンで育ちました。

地元のシアトルパシフィック大学に入学した彼は、化学音楽を専攻すると同時に、古典ギリシャ語言語学も熱心に学びました。

一見すると理系のエンジニアらしくない経歴の持ち主です。

教養課程では3年間、コンピュータの基礎を学び、「FORTRAN」「COBOL」「アセンブリ言語」などを習得。

こうした幅広い教養が、後にプログラミング言語を設計する上で独特の感性となり、特に言葉の仕組みや人のコミュニケーションを意識した開発へとつながっていくのです!

結婚と大学卒業

学生時代に結婚し、妻のグロリアと共に文学や言語学の研究にも取り組みます。

カリフォルニア大学バークレー校の大学院では、2人で文字をもたない言語について研究しようとアフリカに行く計画を立てました。

その言語の書記体系を新たに構築するという野心的な計画でしたが、健康上の問題で、これは断念。

そうこうしている間に、言語学の学位をとって卒業するのに8年もかかってしまいました…

戦士戦士
文学とか言語学とか、文系だったのか
スライム師匠スライム師匠
エンジニアは数学者が多いが、ラリーは言語学者という点は異色じゃな
戦士戦士
ラリーはプログラマとしてのアプローチは単なる技術的なものにとどまらず、文化や言葉の本質にまで根差していたってことか
聖徳聖徳
ラリーの父・祖父・曾祖父は全員牧師で、ラリー自身も信仰心が強いのである~
スライム師匠スライム師匠
そのことが、プログラミング・言語設計・Perlコミュニティへの姿勢にも影響を与えているんじゃ!
実際にラリーの講演会では、聖書の一節を引用したり、宗教的レトリックを混ぜることもしばしばある
戦士戦士
宗教にまで造形が深いんだ
大学時代は結婚までしちゃってるし、アフリカで研究したりと行動的なんだ~
聖徳聖徳
奥さんのグロリアさんは、ラリーと同じく知的好奇心旺盛なパートナーで、宗教、哲学分野の造詣も深く、コミュニティでの存在感も抜群である~
戦士戦士
なんだ、似た者同士だ(笑)
スライム師匠スライム師匠
そうじゃな(笑)
奥さんとともに大学時代に挑戦した事が後の仕事にいきてくるんじゃ

ユニシス社に入社しPerlを開発

大学時代には勉強と掛け持ちで、ソフトウェア開発の手伝いをするようになっていました。

彼は転職癖があり、卒業後は様々な企業を渡り歩いていましたが、Perl を開発したのはユニシス社でエンジニアをしていた時です。

当時、NSA(国家安全保障局)のシステムのサポートをしていました。

UNIXのネットワークである「USENET」で、レポートを添付して送信するという作業をしていました。

当時はサーバ上でテキスト処理をするにはC言語で書くか、UNIXコマンドである「シェル」を使うのが一般的でした。

しかし、C言語はコンパイルが面倒でしたし、シェルはテキスト処理に不向きだったのです…

楽をしようとして生まれたプログラミング言語

彼は、なんとか楽にできないだろうかと思い、1987年、テキスト処理に適した言語を開発します。

できあがったのは「インタープリタ型言語」です。

コードを実行する際に、コンピューターが1行ずつ機械語に翻訳してくれるので、コンパイルせずに自動的に処理され、実行確認が簡単です。

とにかく「面倒なことを自動でできるようにしよう」という発想から生まれた言語です。

Perlの由来

このプログラミング言語に名前をつける際、愛妻家の彼は、夫人の名前である「グロリア」も候補にあげていました。

しかし、家庭での会話の際、まぎらわしいという理由で却下。

熱心なクリスチャンでもあったため、新約聖書のマタイによる福音書13章46節に出てくる「高価な真珠」にちなみ「pearl」と名付けようとしました。

しかし、すでに「pearl」という名前の別のプログラミング言語があることを知り、一文字省略して「Perl」としました。

もともとは特に意味のある言葉ではありませんでしたが、この2つの後付けの意味もあるそうです。

”practical extraction and report language(実用的なデータ取得レポート作成言語)”
”pathologically eclectic rubbish lister(病的折衷主義のガラクタ出力装置)

戦士戦士
綴りが違うから不安だったけど、やっぱり読み方は「パール」で正解なんだ~
スライム師匠スライム師匠
真珠」という意味だからそれで問題ない
戦士戦士
それにしても、ガラクタなんたらは意味が分からない(笑)
スライム師匠スライム師匠
他にも、UNIX上でのデータの操作性が高い「C言語」、やりたいことを素早く作成できる「シェル」の影響が強いことから、「Perlは、Cとシェル(殻)がぱっくり割れて、中から出てきた真珠である」とも言っておる!
戦士戦士
言語学者だけあって、そういうレトリックが好きなんだ(笑)
スライム師匠スライム師匠
実際、C言語とシェルの間のプログラミング言語がなかったので、そこを埋めるものを作りたかったというのはたしかじゃろうな

Perlが広まったきっかけは「ラクダ本」

Perlのバージョン1.0は1988年2月1日、ニュースグループでリリースされました。

このころはまだWEBブラウザもない時代だったので、あくまで専門家の間でしか知られていない存在でした。

しかし、コンパイルいらずの便利な言語として静かに広がり、バージョンアップをかさねて行きました。

バージョン4.0になるころ、コンピュータ関連書の出版で有名な「オライリーメディア」を率いる、「ティム・オライリー」からPerlの本を書かないかと声をかけられます。

プログラミングPerlが出版

彼は喜んで引き受け、1991年、Perlの解説書「プログラミングPerl」が出版されます。

他のプログラマとの共著でしたが、ほとんどラリーが書きました。

表紙にラクダの絵が描かれていたため、通称「ラクダ本」と呼ばれ、Perlを学ぶものにとってはバイブルとなります。

表紙のラクダは見た目は美しくないけれど厳しい環境で力を発揮する生き物であることから、Perlの「実用性重視・強靭さ」の象徴とされています。

有名な「プログラマの三大美徳」と言われる「怠惰」「短気」「傲慢」についてもこの本の中で語られています。

プログラマの三大美徳「怠惰」「短気」「傲慢」

この本の「はじめに」の中で

私たちはプログラマの偉大な三つの美徳である”怠惰、短気、傲慢”を身につけることを推奨する

と語られています。

一見、ネガティブな言葉ですが、その真意はどのようなものなのでしょう?

怠惰(Laziness)

まず、第一の美徳は「怠惰」です。

プログラムは何か面倒な仕事をコンピュータに押し付けるために組まれるものです。

そもそも、ラリーがPerlを作ったのも、「レポートを添付して送信する」という作業が面倒だったからです。

役に立つプログラムを作り、みんなの苦労を減らすことがプログラマの役割です。

また、何度も同じ質問に答えなくても良いように、ユーザマニュアルを書いておくことも大事です。

だから、「これは面倒だからやりたくない」という「怠惰」こそがプログラマの出発点です。

短気(Impatience)

我慢できない性質せっかく組んだプログラムも、「遅い」「動かない」ケースもあります。

そういったことをのんきに受け入れているようではプログラマは務まりません。

真のプログラマなら、怒りを感じるはずです。

問題が起きてからではなく、今後起こりうる問題も先回りして解決していく。

そんな「短気」な気質が優れたプログラムを生み出すのです。

傲慢(Hubris)

ラリーはプログラマには「神罰が下るほどの過剰な自尊心」が必要だと言っています。

自分の作ったプログラムに他人からあれこれ文句をつけられるのは腹が立つものです。

それを回避するには、どこにだしても恥ずかしくないプログラムを書く必要があります。

「傲慢」とは自分の書くコードや仕事に強い誇りを持ち、手を抜かず完璧を目指す姿勢を指しています。

自分の仕事にプライドを持つこと。

そのような「傲慢」さこそ、プログラマとして成長していくには欠く事のできない気質です。

スライム師匠スライム師匠
この逆説的な美徳は、多くのプログラマにとって共感を呼び、今も業界の金言として語り継がれているんじゃ
戦士戦士
逆にいうと、「勤勉」「忍耐」「謙虚」だと、優れたプログラムは生み出せないわけか
スライム師匠スライム師匠
釣りとかで考えると、短気な人の方が、釣れないといろいろ工夫するから向いてるのと一緒じゃな
聖徳聖徳
ラリーは、この「美徳」を一つでも欠く人は、プログラマにはなってはならんとまで言っておる~
戦士戦士
ちょっと複雑な気分だが、私は向いてるってことか…

Perlの爆発的普及と現在

ラリーによって生み出されたPerlは、その利便性が評価され徐々に広まっていきました。

ラクダ本も版をかさね、技術系の書籍としては異例のロングセラーとなります。

そして、Perl が爆発的に普及したのは、インターネットが発展した1990年代後半です。

Perlのコミュニティは世界中に広がり、日本にも「Tokyo.pm」や「Shibuya.pm」といった活発なユーザグループが存在しています。

なぜここまで普及したのか?

そこにはいくつかのポイントがありました!

オープンソースのプログラミング言語

ラリーは、Perl 自体を自分にとっての「芸術作品」と考えていました。

そのため、それで儲けようとはせず、無料で公開して多くの人に使ってもらうことで満足していました。

時を同じくして、Linuxを無料公開していた「リーナス・トーバルズ」と同じ考え方です。

1998年、オープンソースの定義について話し合う会議「オープンソースサミット」はラクダ本の編集者、ティム・オライリーが主催し、リーナス・トーバルズやラリー・ウォールも出席しています。

現在でも Perl はオープンソースで、ラリーは「優しい終身の独裁者(Benevolent Dictator For Life)」の地位につき、Perlの進化を見守り続けています。

サーバに標準インストール

インターネットも盛んになってくると静的なページだけでなく、動的なページが求められるようになりました。

スクリプト言語で取り扱いが容易なうえ、テキスト処理に強いPerlはCGIに盛んに用いられるようになります。

CGIはサーバ側でプログラム処理をすることになりますが、当時主流だったUNIXサーバには、標準でPerlがインストールされていました。

そのため、わざわざ別の言語を使う必要もなく、「CGIといえばPerl」が当たり前だったのです。

充実したライブラリ

そしてもう一つ、Perlが人気だった理由はライブラリの充実度です。

用途に応じ様々なモジュールが競って開発されました。

そうして作られた多数の汎用性の高いモジュールが「CPAN」と呼ばれるWEBサイトに収められています。

ここでは、あるモジュールがどのモジュールに依存しているかという依存情報も保持されています。

特定のモジュールをダウンロードすると、それが必要とする別のモジュールもついてくるので、利便性が高く活発に利用されていました。

Perlの現在

Perlは1994年にリリースされたバージョン5のマイナーアップデートが今も続いています。

2015年に Perl6 が正式公開されていますが、5以前とは互換性がなく姉妹言語という事になっています。

日本語に対する興味と親しみから、Perl6 は2019年に「Raku」に改名されました。

これは日本語の「楽」やラクダの「ラク」がインスピレーションとなったと語っています。

実際に日本のPerlカンファレンスにもたびたび来日、その場で日本語スピーチを披露するなど、日本カルチャーにも深いリスペクトを示しています。

しかし、日本語の勉強はかなりてこずっているようで、「Perlを覚えるのは日本語を覚えるよりずっと楽」とも語っています。

奥の深い言語でファンも多数

Web時代の進展とともにPHP・Python・Rubyなどへと移っていきましたが、いまだにPerlの影響は残っており、特にテキスト処理や生物情報学の分野では根強く使われています。

かつては「CGIといえばPerl」といわれており、多くの掲示板やCMS、ショッピングカートなどがPerlで動いていたことも思い出されます。

インターネットが単なる情報発信だけでなく、様々な用途に使えるようになったのはPerlのおかげと言っても過言ではありません。

Perl は比較的容易に習得でき、知れば知るほど”味が出る”奥の深い言語

そのため、Ruby開発者のまつもとひろゆき氏をはじめ、堀江貴文氏、オードリー・タン氏など、Perlファンを公言する著名人は多いのです!

楽をするために生み出されたPerl

「Perl は、すでに終った言語」と言う方もいますが、インターネットの発展に対するその貢献度は計り知れません

他の多くの言語に多大な影響を与えた巨人でもあります。

このように、ラリーは単なるプログラマにとどまらず、言語学者であり文筆家であり、オープンソースの思想を体現する文化的な人物として今なお多くの尊敬を集めています。

最後に、ラリーはプログラミングについて、こう語っています。

プログラミングとはシンフォニー(交響曲)を作曲するようなものです。
同時に、さまざまなレベルで物事が動かなくてはならないからです

プログラミングを「芸術作品」と捉えているラリー・ウォール。

その思想は多くの言語やエンジニアに影響を与え、引き継がれているのです!

戦士戦士
悲しいけど、今はWEB開発で Perl 使ってる人をあまり聞かない気がするな~
スライム師匠スライム師匠
WEBアプリケーションの開発は、オブジェクト指向の言語が主流になったことが主な理由じゃ。
Perlもオブジェクト指向に対応してはいるが、後付けのため、他の言語とくらべるといまいちという評価じゃ…
戦士戦士
元々、使いやすい言語という評価があっただけに残念…
聖徳聖徳
Perlはオープンソースだが、「文化をより多様で開かれたものにしたい」という、単なる利益追求ではないラリーの哲学が反映されているのである~
スライム師匠スライム師匠
ここがラリーのすごいところじゃ!
だからコミュニティーも盛り上がり、ラリーは尊敬される存在になったのじゃ
戦士戦士
ラリー自体が「芸術作品」なのかもしれないわね!
スライム師匠スライム師匠
ラリーみたいな凝った言い回しはやめなさい
戦士戦士
ラリーに関しては、やっぱり、文学や言語学を研究してたのは大きかったんでしょうね
スライム師匠スライム師匠
実は、プログラミングに必要な素質は数学力よりも言語能力というワシントン大学の研究もあるぞ
戦士戦士
そこの怠惰で短気で傲慢な文系のキミ!
偉大なエンジニアになれるかもしれないぞ
スライム師匠スライム師匠
お、おい…
急に誰に向かって話しかけているんだ?
戦士戦士
君だよキミ!
この記事を読んでるそこの君だよ!
スライム師匠スライム師匠
やめなさい!

ラリー・ウォールの精神を受け継いでいくあなたへ

ラリー・ウォールとPerlはインターネットやプログラミング文化の基礎を築いた貴重な存在。

彼の「怠惰」「短気」「傲慢」という美徳は、今もエンジニアたちの心に響く言葉として生き続けています。

そんな、あなたもラリー・ウォールの精神を受け継ぐ一人。

日々、革新が生まれているIT業界の最前線で挑戦を続けていることでしょう。

仕事はやりがいがあって楽しいけれど、「やることが多すぎて時間が足りない…」と感じることもあるはずです。

そんな一人で奮闘するフリーランスエンジニアにとって、頼もしい味方となるのが「エージェント」の存在。

あなたの強みを引き出し、高単価の優良案件をあなたに代わり獲得するのが、エージェントの仕事です。

エージェントの仕事

  • 案件獲得までの営業を完全代行
  • 本業だけに集中できるようにサポート
  • 案件の利益が最大限になるように交渉してくれる

エージェントと契約するということは、あなたの収入を上げる契機でもあるのです!

エージェントによって手取りが変わる!?

そんな収入UPを目指す方のために、「マージンが最大10万円」という業界最安水準の画期的なエージェントサービスがあります。

このサービスを運営している代表は、現在、14期目のIT企業「ライトコード」の経営者ですが、当時はフリーランスとして大手有名WEBサービスなどで活躍していました。

その中で、自身も不透明なマージンに苦しんだ経験がありました。

業者によってマージン率は様々で、内訳を公開していないことがほとんど。

未だに旧態依然とした状態が続く業界に一石投じるために、エンジニアへの利益還元と透明性を最優先に考えてスタートしたのが「ITANKEN(IT案件.com)」です!

エンジニアの手取りUPを実現させる5つのお約束

ITANKENのポイントはこの5つ。

①マージンが最大10万円で業界最安値水準記事
②支払いサイトは15日で業界トップクラス記事
③公平性と透明性を重視したお取引記事
④エージェントは人柄を重視記事
⑤開発責任者は元フリーランス記事

仕事内容や単価などでお困りのことがあれば、まずはお気軽にご相談くださいませ!

以下ボタンより、4つの項目に答えるだけの簡単登録(無料)のみでご利用いただけます。

最後まで読んでくれた方へ

現在、お祝い金キャンペーン実施中です!

ITANKENをご利用いただいたフリーランスの皆様への感謝の気持ちとして、案件稼働1ヶ月経過後の初回報酬支払い時に、現金30,000円をプレゼント中!

申請手続きは不要で、対象の方には自動で指定口座に振り込まれます。

人気記事

シェアを待っておるぞ✨
目次