LoginSignup
1
0

More than 1 year has passed since last update.

おまえだれ

エンジニア3年目
使ってきた言語は PHP、Go、JavaScript、TypeScript、Python辺り
好きなパスタはボロネーゼとカルボナーラ

これはなに

Perlを勉強してみたくなった
新しい言語を勉強するときの手順、工数などをメモしておきたくなった

まずPerlって

1987年公開の、動的型付け言語・スクリプト言語のパイオニア
コンパイルが不要で、テキスト処理に強い

Perl(パール)とは、ラリー・ウォールによって開発されたプログラミング言語である。実用性と多様性を重視しており、C言語やsed、awk、シェルスクリプトなど他のプログラミング言語の優れた機能を取り入れている。ウェブ・アプリケーション、システム管理、テキスト処理などのプログラムを書くのに広く用いられている。

真珠を意味するパール(pearl)とは綴りが異なる(知らなかった)

Perlは当初、新約聖書のマタイによる福音書13章46節の「高価な真珠」にちなんで真珠を意味する「pearl」と名付けられた。ラリー・ウォールは肯定的な意味を持つ短い名前を選びたいと考えていて、彼によれば3文字および4文字の単語を辞書から探したが良いのが見つからなかったということである。

↓草

また、彼は妻のグロリアにちなんで名前を付けることも考えたが、家族の会話でまぎらわしいために却下となった。

登場から数年の90年代には既にUNIXやLinuxには標準でインストールされており、CGI(Common Gateway Interface)の開発に広く利用された。

最も普及しているバージョンは、「Perl 5」であるが、最新バージョンは2015年にリリースされた「Perl 6」である。
しかし「Perl 6」は、それ以前のバージョンとは互換性のないため注意が必要。

開発者:ラリー・ウォールさん

プログラマの三大美徳 を提唱した人

文筆家でもあるらしい
↓このあたりのセンス、素敵

〜プログラマの三大美徳〜

・ 怠惰(Laziness)
・ 短気(Impatience)
・ 傲慢(Hubris)

Perlの特徴

  • 動的型付け言語・スクリプト言語(短いプログラムを簡単に書ける)のパイオニア
  • 同時主流だったシェルやC言語に似た文法
  • 表現力・自由度が高い(いい意味で)
  • 強力な文字列処理で、正規表現をサポート
  • プログラムの実行に事前コンパイルが不要(当時は画期的だった)
  • インタプリタ言語の中では処理が速い
  • オブジェクト指向をサポート
  • Linux/Unix環境にデフォルトでインストールされている

他の後発動的型付け言語 との違い

image.png

Python

Perl先輩の4年後輩

保守性

  • 「やり方はいくつもある」という理念のPerl
    • 開発者によってコードの品質が変わってしまうため、保守性は低い
  • 一方で「やり方はいつも同じ」という理念のPython

教育的分野での活用

  • Pythonは「書きやすく、誰が書いても同じようなコードになる」という観点から、海外の教育現場で普及している
  • その結果、幅広い理系コミュニティで便利なライブラリが数多く作成され、今日における「科学計算や機械学習といえばPython」の地位を築いてる

Ruby

Perl先輩の8年後輩

オブジェクト指向

  • 後付けオブジェクト指向のPerl
    • Perlがオブジェクト指向に対応するようになったのは1994年のバージョン5.0からで、後付け
    • そのためオブジェクト指向により最適とはいえない作りになっている...
  • 一方でRubyは、最初から本格的なオブジェクト指向言語として作られた

フレームワーク

  • Perlには「Mojolicios」や「Dancer」などのフレームが存在するが、「Ruby on Rails」の登場でシェアを奪われた雰囲気がある

PHP

同じくPerl先輩の8年後輩

Web開発

CGIにおいて、Perlで書かれた実行コードはHTML本体に書かれているのではなく、処理の度に、毎回呼び出し処理が必要である
PHPは、その手間をなくすために、最初からHTML内に記載することができ、より動的なページ作成を作成することができる

CMS

CMSにおいて、当初はPerl製のMovableTypeが人気を集めていたが、突然の有償化・後発で無償のWordPressの登場によって廃れてしまった

↓歴史的背景や多言語比較は下記記事が詳細で分かりやすかった🙌↓

環境構築

筆者の環境はmacOSであるため、デフォルトでPerl5がインストールされており、環境構築の必要がなかった

Hello Woldする

$ touch sample.pl
$ vi sample.pl

以下を記述

print "Hello, world!";

実行

$ perl script.pl

あとは適当に

日本語サイトの中では、以下が良くまとまっている

基本的な文法を色々触りながら学習を進めた

PHP、Python、Rubyなどを触った経験があればさほど抵抗なく学習が進められるであろうと思う

参考

時間計測メモ

ここまで1時間46分
新しく言語を習得する時間にしてはさほど工数が掛からなかったと思う
他の言語比較が面白く、少々寄り道が多かったかも

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0