ニュースレターNo.88/2024年11月発行
インターネットことはじめ スクリプト言語
スクリプト言語とは

スクリプト(script 、 台本)言語という用語は明確に定義されているわけではありません。 ここでは、 テキストファイルとして記述したプログラムをそのまま実行できる言語、 くらいの意味合いで用います。 C言語やJavaでは実行する前にコンパイルという手順が必要なので、 それに比べると手軽にプログラムを実行でき、 修正して実行してテストしてまた修正して、 という一連の手順を手早く行えます。 また、仕様が公開され、 無償で自由に利用できるものが大多数を占めています。 以降では、2024年現在、 インターネットで広く使われているスクリプト言語の例として、 JavaScript、PHP、Ruby、Python、Perlを見てみましょう。
JavaScript

2024年現在、 インターネットで最も多く使われているスクリプト言語は、 おそらくJavaScriptでしょう。 Chrome、Edge、Firefox、Safari等の、 いわゆるモダンブラウザはすべてJavaScriptを実行する機能を備えています。
もともとJavaScriptは、1995年にNetscape Navigatorという、 当時一世を風靡したWebブラウザの機能として搭載されました。 開発の動機は、 Webブラウザ自身の制御をユーザーが行えるようにするためだったと言われています。 当時も今も、HTMLとCSSだけでは、 例えばメニューを開いたり閉じたりといった基本的な動作についても、 メニューがクリックされたことをWebブラウザがWebサーバに通知して、 Webサーバが新しいHTMLをWebブラウザに送る必要があります。 これでは応答に時間がかかりますし、 余計にネットワークを使うことになります。 JavaScriptを使うと、 こうした動作がWebブラウザだけで完結できるようになります。
1996年にはMicrosoft社のInternet Explorerという、 これまた一世を風靡したWebブラウザにも採用されました。 1997年にはECMAScriptとして標準化が行われましたが、 まだまだWebブラウザ間の差異が大きく、 広く使われるまでには至りませんでした。
この状況を一変させたものとして、 2005年2月に公開されたGoogleマップが挙げられます。 GoogleマップではJavaScriptでWebサーバと通信して必要なデータを取得し、 同時にWebブラウザの画面を書き換えることで、 「Webブラウザ上で地図をリアルタイムにドラッグできる」という画期的なユーザーインタフェースを実現したのです。 Googleマップ以前にも同じようなアプローチはありましたが、 Googleマップの登場と前後してこの手法にajax (Asynchronous JavaScriptAnd XML)という名前が付き、 JavaScriptとともに一気に普及していきました。
また2009年にはnode.jsが登場しています。 これは従来Webブラウザの中でのみ実行できたJavaScriptを、 Webブラウザの外でも実行可能にする枠組みです。 Webサーバそのものを使い慣れたJavaScriptで記述可能なことなどから、 JavaScript環境普及の決定打となりました。
PHP
主にWebサーバ側で実行され、 ユーザーに見えにくいところでWebを支えているスクリプト言語に、 PHPがあります。 もともとはWebサーバ側で実行したプログラムの結果をWebブラウザに送り出す目的で作られました。 同様の仕掛けとしてCGIが用意されていますが、 CGIがHTMLとは独立したプログラムであるのに対して、 PHPはHTMLの中にPHPタグとして埋め込んで記述できるのがメリットです。 このおかげで比較的簡単に、 ユーザーの入力を反映していくWebサイトの構築が可能になっています。 有名なところではWordPressやXOOPSがPHPで記述されていて、 テンプレートやテーマを作成するにはPHPの知識が必須となります。
初版がリリースされたのは1995年ですが、 現在につながる形になったのは1997年のPHP 3からです。 2004年のPHP 5からは汎用の言語に近くなり、 2024年現在ではPHP 8が最新かつサポートされているバージョンとなっています。
Ruby
Rubyはまつもとゆきひろ氏によって開発され、 1995年に公開された汎用のオブジェクト指向スクリプト言語です。 10年ほどは知る人ぞ知るといった状態でしたが、 2004年に「5分でBlogシステムが作れる」とうたった、 Ruby on RailsというWebアプリケーションフレームワークが発表され、 爆発的に普及することで広く知られるようになりました。 2024年現在も活発に開発が続いており、 2011年にはJISX 3017、 2012年にはISO 30170として規格化されています。
もともとが汎用言語なため、 PHPよりもさらに裏方で活躍している言語です。 Ruby on Railsとしては、 GitHubやSoundCloudなどでの利用実績があります。
Python
Pythonは1991年に開発された、 汎用のオブジェクト指向スクリプト言語です。 大規模な科学計算や機械学習、 データ解析を手軽に行える言語として、 深層学習やAIとともに世界中に普及しています。
PythonとRubyは似た立ち位置にあり、 Webを代表とするインターネットに特化せず、 汎用であることを旨としています。 しかしながらGNU Mailman、MoinMoin、Ploneなど、 Pythonによって記述されたプログラムも多く、 インターネットに無縁というわけでもありません。 その点でRuby同様に、 裏方としてインターネットを支えている言語あると言えます。
Perl
Perlは1987年にコンピュータ設定管理制御システムのレポート作成ツールとして誕生しました。 1988年にバージョン2、1989年にバージョン3、 1991年にはバージョン4と順調に版を重ね、 バージョン5の公開は1994年と、ちょっと間が空きました。 2024年10月現在はバージョン5.40.0が最新となっています。
Webが普及しつつあった1990年代後半、 電子掲示板などユーザーの入力に応じてWebサイトの表示を変えるといった需要が増えました。 既にある程度普及して実績があり、 文字列を簡単かつ柔軟に加工できるPerlは、 こうした用途にうってつけでした。 JavaScriptやPHPが台頭したせいか2020年代においてはあまり目立っていませんが、 今でもMovable TypeやBugzilla、 SpamAssassinなどはPerlで記述されています。