さて以前書きましたが、このBLOGはHTMLという言語で書かれたものが皆さんのブラウザーで表示されています。
その結果として今ご覧になっているように、左側にメニューがあり最近のエントリーやカレンダーが表示され、右側にこの文章が表示されていることと思います。(iphone等でご覧になっているかたはその限りではありませんが・・・)
HTMLは「意味合いを定義する文章を書くための言語」ですので、つまりこの文章には(画面には表示されていませんが)「これは左側にありますよ」「これは右側に表示したい」という「意味」がつけられています。
そのような付随情報を含めたHTML文章がいったいどのような形になるのかといえば、右クリック(Command+クリック?)して「ページのソースを表示」のようなものを選んでいただければ長々とした文章が表示されるはずです。
とはいえ、これだけの長い文章やHTMLタグ(HTMLにおいて、文章に意味づけを行うためもの)をメモ帳でせっせと手作業で入力するのは大変です。
たとえば左側「最新のエントリー」はどの画面にも共通で存在していますが、誰かがBLOGを書くたびに全てのエントリーの該当する部分を直すようなことになれば、エントリーの数が10やそこらであればいいですが、これがそのうち100や200といった数になったときその作業を行うのはほとんど無理、という状態になってしまいます。
そうでなくても、カレンダー部分は現在の日付を含む月が表示されているはずですが、これは来月になればきちんとその月のカレンダーを表示します。このような動きを手作業で実現しようとすれば毎月月末には大変な思いをすることになります。
しかし、先ほど「手作業で」と書いたのはつまり、実際には手作業でそのようなことをしているわけではないからということの裏返しなわけです。
共通の画面構成であったり、カレンダーの動きであったり、そういうものを自動的に処理してHTML文章を作成してくれるものというのがあって、つまりそれが代わりに頑張ってくれるからたとえばBLOGなどは便利なわけですね。
それが「Webアプリケーション」と呼ばれるものであって、そうやってWebアプリケーションによって生成されたWebページを「動的ページ」といいます。最初から最後まで人間が生成したHTML文章と違って、Webアプリケーションが内容を動的に変化させてくれるから「動的」ということですね(ちなみに、そのようなWebアプリケーションなどで動的に生成するのではなく、一度作成したら変わらないHTML文章によるページを「静的ページ」と呼びます)。
そんな動的ページを作成するWebアプリケーションですが、Webアプリケーションそのものはプログラム言語と呼ばれるもので作成されます。これはWebアプリケーションに限らず普通の(文章作成や表計算を行うような)アプリケーションと同様です。
それらが具体的にどのようなことをしているのかという話は他のエントリなどを参照していただくとして、問題なのはそのプログラム言語というものは一種類ではない、ということです。
やはり古来からものを作るためには、代償としてばらばらの言語を使用しないといけないのでしょうか。いくつもあるプログラム言語にはそれぞれ特徴があり、また文法も似通っていたり独特だったりと様々です。それはつまり、得意なこと不得意なこと清濁併せ呑んで一つの言語を使い続けるか、いろいろな言語を渡り歩くかの選択に迫られているということになります。
ですがそれには勿論デメリットもあり、一つの言語を使い続けるのであれば、「何が得意で何が苦手か」を把握して苦手なことを要求された場合にどのように処理をすればいいのか?を考える必要がありますし、いろいろな言語を渡り歩く場合には勿論、それらを全て学習する必要があります。
どちらにしろ、何らかの形で学習が必要なわけで、個人的には勉強の類はあまり得意ではないので3つのしもべに命令するだけでWebアプリケーションができたらどれほど素晴らしいことかと思いますが、超能力が使えるわけでも少年でもないので、それはかなわぬ夢のようです。地道に精進を続けていこうと思います。(tel)