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

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

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

Perlのwhile文

Perlのwhile文です。

# Perlのwhile文
my $i = 0;
while ($i < 10) {
  
  # 処理
  
  $i++;
}

C言語のwhile文

C言語のwhile文です。

// C言語のwhile文(C99対応)
int32_t i = 0;
while (i < 10) {
  // 処理
  
  i++;
}

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

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

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

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

PerlはC言語のwhile文の構文をそのまま取り入れています。

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

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

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

PerlとC言語の他の類似点

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