人気アプリ開発者の鶏肋さんのコラムです。今回は「Perl(パール)」というプログラミング言語について解説していただきました。
Perlは、以前ご紹介したRubyやPython、PHPと同じ「スクリプト言語」に分類されます。スクリプト言語の定義は曖昧ですが、「短いプログラムを簡単に書ける」とひとまずは考えて頂いてよいと思います。
初心者が入門しやすい言語の一つであるほかに、RubyやPython、PHPのようにウェブサービスの開発によく用いられる言語です。
各言語の登場時期は以下の通りで、上述の言語の中ではPerlが歴史的にはもっとも古い言語です。一方でPython・Ruby・PHPは、Perlの影響を受けて作られた言語であり、ある意味Perlを改良した特徴を持っているといえます。
○主なスクリプト言語の開発年表
年 | 言語名 | 開発者 |
---|---|---|
1987年 | Perl | ラリー・ウォール |
1990年 | Python(→記事はこちら) | グイド・ヴァンロッサム |
1993年 | Ruby(→記事はこちら) | まつもとゆきひろ |
1995年 | Java(→記事はこちら) | サン・マイクロシステムズ |
1995年 | PHP(→記事はこちら) | ラスマス・ラードフ |
2015年に「Perl 6(パールシックス)」がリリースされましたが、それまでのPerl (Perl 5以前)とは互換性のない別言語ですので注意しましょう。Perl 6は、残念ながらさほど普及していないようです(2018年現在)。
後発の言語に大きな影響を与えたPerlですが、近年ではウェブ開発での利用率が下がっています。Perlの人気が低下した理由とは、何でしょうか?
Perlがシェアを下げた理由は二つあると筆者は考えています。Perlがシェアを下げた理由は2つあると筆者は考えています。一つは、Perlが古い言語であること。もう一つは、ウェブ開発の新潮流でシェアを獲得できなかったことです。
Perlは古い言語であり、後発のスクリプト言語であるRubyやPythonの方に比べてウェブ開発に不向きな点があります。例えばPythonは、誰が書いても同じようなプログラムになるように作られているので、プログラムの保守性が高いという利点があります。
また、Rubyはオブジェクト指向という考え方を前提とした言語として作られています。オブジェクト指向で書かれたプログラムは、仕様変更や再利用がしやすいという柔軟性という点でのメリットがあります。それに対して、スクリプト言語のPerlは、保守性や柔軟性という点で使いづらいため、敬遠されるようになったのだと思います。
Perl 6はこれらの点を改良した姉妹言語ですが、2018年現在さほど普及していないようです。多くのプログラマーや経営者は、言語を乗り換えるほどの利便性を感じていないのでしょう。
もう一点、Perlがシェアを下げたポイントがあると筆者は考えています。それが「フレームワークとCMSでのシェア低下」によるものです。
近年のウェブ開発では、構築する際に「Webフレームワーク」と「CMS(コンテンツ管理システム)」の使用が好まれます。Perlは、この両者とも他言語にシェアを奪われてしまいました。
Webフレームワークでは、2004年に登場した「Ruby on Rails(通称Rails)」が人気です。Railsの影響を受けたPerl製のWebフレームワーク(例えばCatalystやMojoliciousなど)もあるのですが、システムエンジニアの間でもRailsの人気は圧倒的であり、その差を埋めることはできませんでした。
このRailsが登場してから、Ruby人気の上昇と対象的に、Perlの利用率は急速に下がっていきます。
さらには、更新管理に優れたCMSでも、Perlは遅れをとってしまいます。CMSとは、ウェブサイトを管理・更新できるシステムのことです。今お読みいただいている「M&A Online」も、WordPressというCMSで作られています。
Perl製のCMSである「MovableType」は2001年に提供を開始し、無料で自由に使えるCMSとしてかつては大きなシェアを誇っていました。
しかし、2004年リリースのMovableType3.0以降、ライセンス契約により有償になるケースが多発したことでユーザ離れを引き起こしました。
一方で、後発のWordPressは無償提供を続け、かつ拡張機能やデザインが豊富という特長がありました。この時期にMovableTypeからWordPressへ移行する流れができてしまい、2018年現在までWordPressの人気は続いています。
もしRailsよりも早くに魅力的なPerl製のフレームワークがリリースされていれば、またMovableTypeが有償とならなければ、Perlは現在もその人気を維持できたのかもしれません。
これがPerlの衰退の一因ではないか、と筆者は考えています。
現在Perlを使用しているサービスや会社には以下のようなものがあります。RubyやPHPに比べるとPerlを利用しているサービスは少ないようです。
次に、Perl関連の企業買収事例として、MovableTypeの開発元であるシックス・アパート社(Six Apart)をご紹介します。
MovableTypeは、2001年米国創業のシックス・アパート社が開発しました。同社はブログとコミュニティ関連の技術を求めてM&Aを繰り返しますが、前述のとおりMovableTypeがWordPressにシェアを奪われ、MovableTypeを所有する企業は買収されることになります。
しかしその後、EBOによりシックス・アパート社は買収元のインフォコムから独立しました。
○シックス・アパートの主なM&A
年 | 概要 | |
---|---|---|
2005年 | 日記を用いた仮想コミュニティLiveJournalの親会社であるDanga Interactiveを買収 | |
2006年 | モバイルブログ技術を手がけるSplashBlogを買収 | |
2006年 | コミュニティ機能を備えたフィードリーダーのRojoを買収 | |
2010年 | 広告ネットワークのVideoEggがSix Apartを買収、新会社SAY Mediaを立ち上げ |
|
2011年 | インフォコムがシックス・アパート日本法人を買収、100%子会社化。 MovableTypeは日本法人であるシックス・アパート株式会社が取得 |
|
2016年 | EBO(Employee BuyOut)により、シックス・アパート株式会社がインフォコム から独立 |
EBOとはEmployee BuyOutの略で、「従業員買収」のことです。シックス・アパート社の事例では経営陣と従業員によって設立したシックス・アパート・ホールディングス社がシックス・アパートの全株式を取得しました。これにより社員が株主になったのです。
補足ですが、従業員を含まない、経営陣のみによる買収を、MBO(Management BuyOut)といいます。
EBOでの独立後、シックス・アパート社は働き方改革を実施しました。リモートワークを推奨し、会議もオンラインで行うようにしているそうです。この大胆な改革ができたのは、EBOで社員が株主になったからだと筆者は考えます。
自分たちの業務効率を上げることが自分たちの給与アップにつながりますし、自分たちが決定権を持っていますので合理的な意思決定ができるのではないでしょうか。
EBOにより経営をスリム化し意思決定を迅速化したシックス・アパート社は、現在MovableType関連の機能強化や海外展開を進めています。
人気低迷中のPerlですが、Perlで書かれたサービスの改修など案件の引き合いはありますので、システムエンジニアならPerlを学ぶ必要はあるでしょう。
Perlには、RubyやPythonに劣らない魅力があると筆者は感じています。Perlは柔軟で、面白い書き方ができるのです。
省略を多用する文法や特殊変数というものを使えば、同じプログラムが多様に記述できるのです。結果として、他のプログラムよりも短く書けますし、表現力があがります(保守性は望めませんが・・・)。
初心者が言葉遊びのようにプログラムできると上達に繋がりますし、なにより楽しいと思います。
Perlのモットーに"There's More Than One Way To Do It."「やり方は一つじゃない」というものがありますが、このモットーに則った仕様だといえるでしょう。一方で、今人気のPythonは、 “one obvious way to do it” 「たった一つの方法」というものをモットーにしています。
Perlを学習する方に、以下のウェブサイトと書籍をお勧めします。
・【Webサイト】 Perlゼミ「サンプルコードPerl入門)」
Perlを扱うサイトは古いものが多いのですが、このサイトは情報が新しく更新も頻繁です。http://d.hatena.ne.jp/perlcodesample/
・【書籍】初めてのPerl 第7版
「初めての」と銘打っていますが難易度が高いです。Perlにかぎらず他言語がある程度書ける方にお勧めの書籍です。
オライリー社の書籍は難しいものが多いですが、きちんと読めば理解が深まります。また、オライリー社のPerl関連の書籍は、軽妙でユーモアあふれる文体で楽しめると思います。このユーモア精神はPerlプログラマーの特徴の一つかと思います。
・【Webサイト】Perl6入門
Perl 6を学習する場合は、こちらのサイトをお勧めします。丁寧にまとまっていると思います。
CMSの利用が目的であれば、WordPressの使用が第1選択肢となるかと思います。なにより無償ですし、人気があるので多くの情報が得られるからです。この場合は、PerlでなくPHPを学習することをお勧めします。(→PHPを学びたい人はこちらの記事をどうぞ)
また流行りのAIや機械学習に興味があれば、Pythonの学習をするとよいでしょう。機械学習のフレームワークやライブラリはPythonから利用しやすいです。(→Phthonを学びたい人はこちらの記事をどうぞ)
ウェブサービスを作りたい、ウェブ開発の仕事に就きたいという方は、RubyかPHPを選ぶとよいでしょう。国内ではRailsが人気ですし、PHPもよく使われています。(→Rubyを学びたい人はこちらの記事をどうぞ)
文:鶏肋 /編集:M&A Online編集部