2010.05.06
yna

Web開発でよく使われるスクリプト言語の話

たまには、ちょっと初心者向けの話題を書いてみます。(ネタが無くなった?)

皆さんもウェブのアプリケーション開発というと、LAMPという言葉を聴いたことがあるでしょう。LAMPとは、LINUX、Apache、MySQL、Perl or PHPの頭文字を指すのだが、最後のPは、Perlだったり、PHPだったり、Pythonだったり、スクリプト言語全般を示します。人によっては、Pに髭をつけてRでRubyも含むという人もいます。

■Perl
Webの開発ではもっとも古くから使われている言語のひとつです。レンタルサーバーなどではPerlしかサポートしないなどという環境もあるので、覚えておいて損はありません。
元々はUNIX系のOSで、運用ツールなんかを作成するのに良く使われていた汎用言語で、書きやすい言語でありますが、可読性は良くありません。CPANという巨大なアーカイブ(ライブラリ群)があるので、各種のツールやサブルーンを再開発することなく、利用できます。ベースとしては構造化言語ですが、一応オブジェクト志向的な側面があります。残念ながらオブジェクト指向言語としては、力不足です。

■PHP
PHPはWebに特化した言語です。HTMLの内部に、プログラムのコードを埋め込むことができます。Webプログラミングが開始される直前1990年~2000年代に主力であったC言語に似た構文、関数名であったために、利用者が多いです。C++言語と似た方法で、オブジェクト指向言語の部分を取り入れています。
Webアプリケーションが大型化し、複雑なシステムが開発されるようになると、HTML埋め込み言語という部分がネックになってきています。CAKEなどのフレームワーク、Smartyなどのテンプレートエンジンなどを取り込んでおり、HTML埋め込み言語としそのまま使われことは少なくなってきているかもしれません。
PEARやPECLというアーカイバがあります。

■Ruby
まつもとゆきひろ氏によって作られた純粋オブジェクト指向言語です。Smalltalkの影響を強く受けており、もともとはPerlの代替を狙った汎用言語といえます。クラス定義、ガベージコレクション、例外処理、マルチスレッド、正規表現、イテレータ・クロージャ、Mix-in、演算子オーバーロードなど強力な機能を持っております。この機能をフルに使ってRuby on Railsなどのフレームワークが作られています。erbなどのテンプレートエンジンも用意されています。
日本人が開発者ということもあり、日本語の文献が多いことも利点の一つです。

■Python
Googleが採用したことで有名になった純粋オブジェクト指向言語です。
インデントによってブロックを表記するなどの特徴があります。残念ながらそれほど使い込んでいないので、詳しいことは割愛させていただきます。

その他言語

■Javascript
いままで解説した言語が、基本的にはサーバー側で動く言語ですが、JavaScriptは、クライアント側のブラウザの中で稼動する言語です。Javaに似た(C++にも)似た構文ですが、言語としてはMix-inなどをサポートするなど強力な機能をもっています。

■ASP
MicrosoftがIISに乗せたPHPライクな言語。HTMLの内部にプログラムのコードを埋め込みする仕組みはPHPと同じです。こちらは、Windowsで利用者が多かったVisualBasicに似た構文であったため、そこそこのシェアがありましたが、対応するOSがWindows系に限られるなどで、すでにレガシーな開発言語になっています。
この言語で大規模開発はやめたほうが良いです。

■JSP
こちらは、JavaのHTML埋め込み言語として作られましたが、あまり使われたいう話を聞きません。どうなったのでしょう?

yna

一覧に戻る