CGIを作るための言語としては、少なくとも初心者がこれから初めてみようという場合、
Perlを使うのが一般的だと思います。
実際、CGIの本は Perlによるものが多いです。
しかし、PythonやRubyという言語も、静かなブームのようです。
そこで、ちょっと、Python と Ruby について説明しましょう。
といっても、私自身もこれから勉強するつもりなので、本当はわかってないです。
「Python」とは、Guido van Rossum氏が作ったプログラム言語で、 インタープリタ、インタラクティブ、オブジェクト指向言語です。 日本語的な読み方は「パイソン」でいいと思います。本来はヘビの一種ですが、 「Monty Python's Flying Circus」(「モンティパイソン」)というコメディー番組からとられたらしいです。
その特徴は(初心者から見た場合)、文法がシンプルである、ということでしょう。 何重にも重なった「かっこ」や、名前の前の「$、@、?」といった記号は使われません。 それで、プログラムを比較的簡単に書くことができ、また、読みやすいものになります。
現在(2003年7月)、UNIX、Windows、Macintosh など、多くのコンピュータで使うことができます (開発段階で最初に実装されたのは Mac らしいです)。 Mac(とWindows)では、デバッグ画面なども整った開発環境がそろってます。 実用面では、例えば、Red Hat Linux のインストーラーが Pythonで書かれています。
問題点があるとすれば、実行速度が比較的遅いらしいです。
私が簡単に作ったスクリプト(正規表現を使ってE-mailのアドレスだけをとりだす)では、
同様のスクリプトでPerlの3倍くらいかかりました。
(注意:最近(2001年1月)、Python-MLで出ていた話だと、一般には遅いわけではなく、むしろ速いこともあるようです。
また「詳説 正規表現(オライリージャパン)」によると、正規表現ではPerlは効率化を行っているが、Pythonは行ってないらしいです。新バージョンではわかりませんが)
それと、日本語環境がちょっと不安なところです。バージョン2以降ではUnicodeが標準で使えるとかいうことですが、
現状で、例えば日本語の検索置換などが簡単に出来るのかは良く知りません。
こちらの harukazeサーバーで、Python によるCGIも可能になったようです。
「Ruby」とは、まつもとゆきひろ氏が作ったプログラム言語で、 「シンプルかつ強力なオブジェクト指向スクリプト言語」です。 日本語的な読み方は「ルビー」でいいと思います。宝石のルビーですね。
まず、作者が日本人ですので、日本語による情報が豊富ということがあげられます 特に、日本のWebsiteでは、Pythonに関するサイトよりもかなり多いようです。 もちろん、日本語処理も最初から整ってます。
こちらも、Perlにくらべれば、文法が簡単なものになってます。 Pythonもオブジェクト指向ですが、Rubyの方はより純粋なオブジェクト指向らしいです。
現在、UNIX、Windows、Macintosh など、多くのコンピュータで使うことができます。 Macについては、OS9ではもう移植が中断しているようですが、 OS X の 10.2では標準でインストールされています。 開発環境もキャラクターインターフェース主体のようで、 Unix的なコマンドに慣れてないと難しそうな印象を受けます。
問題点があるとすれば、世界的にはまだまだマイナーということでしょう。 こちらの harukazeサーバーでは、インストールしてあり、CGI用言語として使えますが、 一般にはどうなんでしょうね。
・・・恐れ多くて書けません・・・
とりあえず、上の Rubyのサイトには Pythonとの比較の話が書いてあります
(Pythonのサイトには Rubyのことは・・・なさそうな・・・)。
なお、こちらのページは、Perl、Python、Rubyの順番で書いてるので、 あとのほうでは説明が省略されるところもあります。