Perlの哲学 - Perlに対する誤解を解く

Perlのfor文は、C言語のfor文と、同一の文法

Perlのfor文は、C言語のfor文と、同一の文法です。Perlのfor文とC言語のfor文を比べてみましょう。

Perlのfor文

Perlのfor文です。

# Perlのfor文
for (my $i = 0; $i < 100; $i++) {
  
}

C言語のfor文

C言語のfor文です。

// C言語のfor文(C99対応)
for (int32_t i = 0; i < 100; i++) {
  
}

Perlのfor文とC言語のfor文の比較

Perlのfor文とC言語のfor文の比較を比較してみましょう。「()」「{}」の使い方や、ループ変数の宣言、ループ変数をインクリメントしているところなど、文法が同じですね。

C言語のfor文で繰り返しを覚えたらPerlで、その文法と概念をそのまま使える

C言語のfor文で繰り返しを覚えたらPerlで、その文法と概念をそのまま使えます。C言語で覚えた知識を、Perlでそのまま使うことができます。

PerlはC言語のfor文の構文をそのまま取り入れています。またC言語のほうも、Perlと同じく、C99で、ループ変数の宣言を、for文で行うことができるようになりましたね。

Perlは動的型を持つプログラミング言語ですが、動的型であることを除いて、C言語のfor文の文法とそっくりです。

Perlは、Unix/Linux環境とC言語を学んだユーザーにとって、そこで学んだ概念をそのまま使えるので、学習コストが低く、同じ概念を使って、プログラミングができるように設計されているのですね。

C言語に対して過度な批判をせずに、当初から親和性・協調性を目指したというのが、Perlの素敵な特徴の一つです。

PerlとC言語の他の類似点

この記事では、Perlのfor文がC言語のfor文と似ているということを書きましたが、Perlのif文、while文、インクリメント/デクリメント、演算子の種類と優先順位、スコープ、参照概念も、C言語と似ています。