軽量プログラミング言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

軽量プログラミング言語(けいりょうプログラミングげんご、和製英語Lightweight LanguageLL)とは、日本においてスクリプト言語を指す和製英語で、取り回しに優れ、コードの作成や修正が容易と見なされるプログラミング言語のことを指す。

CGIやWebアプリケーションの勃興に伴い、スクリプト言語が新規開発の主役に躍り出たが、日本においてスクリプト言語という表現が不適切だと考え、軽量プログラミング言語と呼ぶ人々が現れるようになった。ゆえに、一般にLLに分類されるPerlPythonPHPRubyなどのプログラミング言語のドキュメントには、スクリプト言語と記述されている事が多い。

なお、日本における軽量プログラミング言語の英語表記はLightweight Language(単数形)であり、英語圏で見られるLightweight Languages(複数形)またはLightweight programming languagesではない。

目次

軽量プログラミング言語の歴史 [編集]

スクリプト言語は1960年代からの歴史があるが、LLという単語の初出は2001年のLL1: Lightweight Languages Workshopだと思われる。2002年にIBM developersWorksの記事『IBM Lightweight Services, Part 1: Server-side scripting』に、本文に説明付でa lightweight languageという表記があったが、欧米ではLLという単語は定着しなかった。 日本では2004年にLightweight language magazineが発売され、LLという単語が散見されるようになった。2003年以前はほとんど使われていない。主要なインターネット・メディアに軽量プログラミング言語という表現が現われるのは同時期からである。2004年にマイコミジャーナル、2007年に@ITやCodeZineに軽量プログラミング言語という表現が現われている。

軽量プログラミング言語の例 [編集]

現在、日本で一般にLLと言った場合、おおむね以下のようなスクリプト言語を指す。

また、以下の言語なども挙げられる。一部、事前にコンパイルが必要な言語も含まれる。

軽量プログラミング言語のリソース消費量 [編集]

日本におけるLLの「軽さ」は、英語におけるLightweightの意味とは大きく異なり、プログラマの負担の軽重を指し、実行速度やメモリ消費量に優れているという意味ではない。この独特の文脈に基づき、LLという単語の推進者は、

などの特色を備えるものをLLと分類しているが、スクリプト言語の特色を逸脱するものではない。

英語圏におけるLightweight programming language [編集]

英語版Wikipediaによれば、Lightweight programming languageは計算機リソースを多くは消費しないという意味で軽量(Lightweight)であり、C言語などが例としてあげられている。つまり、プログラマ負担の軽い言語を意味しない。また、1997年に書かれたLightweight Languages as Software Engineering Toolsでは、プログラミング言語内で補助的に使われる、正規表現SQLGLSLを、Lightweight Languagesと呼んでいる。よって、日本における軽量プログラミング言語と欧米におけるLightweight programming languageは、その「軽量」の意味においてまったく異なるものであるため注意が必要である。英語でPerlやJavaScript、PHPを指し示す場合は、Scripting languageと表現するのが妥当である。

ただし、LL1: Lightweight Languages Workshopの参加者募集からは、『学術的研究から出てきた技術を取り込みつつ、職業プログラマーの手によって画期的なアイディアも組み込まれている言語。軽量(Lightweight)は、実際の機能性ではなく、簡単に入手できて、覚えることができ、使う事ができることを意味する。このカテゴリーに分類されるだろう例は、Perl、Python、Ruby、Scheme(とscsh)、Curlを含む。』と理解することができる。よって、主催者であるDr. Dobbsの定義は日本語における意味と近いと思われる。もっとも、非日本ドメインのウェブページにおけるLightweight Languagesを含むページ数は、Scripting languagesを含むページ数の1%に満たない(2008年8月5日現在)ため、Dr. Dobbsの定義が英語圏で定着しているとは言えない。

日本独自の用語・分類への批判 [編集]

日本における「軽量プログラミング言語(LL)」という用語と言語の分類は、 多分に主観的なものであり、軽量プログラミング言語という言葉は不適切だという批判も多い。

  • 比較対象がないことへの批判

「重い」「軽い」という言葉は相対的な表現であり、比較対象となるものを 明示せずに分類することはできない。

  • 誤解を招く用語であるという批判

一般的にスクリプト言語はコンパイル型の言語に比べると実行速度は遅い傾向にある。 「軽量プログラミング言語(LL)」という用語は「実行速度が速い言語」と 誤解される可能性が極めて高く、その意味でもこの用語の使用は不適切である。

関連項目 [編集]