OL
ご近所のOLさんは、
先端に腰掛けていた。

vol.10
- Welcome to KLIC World Final -

今日のランチ
【今日のランチ】っていうか【マリーゴールド】
・・・・・・・。

さーて、連載第10回目を記念いたしまして 素晴らしい発表があります。
せがた三四郎 パンパカパーン。
『KLIC協会ホームページ』開設いたしました。
そしてひそかに KLIC のロゴを大募集します。
サンプル、展示しときます。
みなさんもぜひ、ご応募下さい。
入賞者には
このもじゃもじゃあたまの『せがた三四郎』他、
豪華賞品が用意されております。
住所、氏名、年齢、職業、電話番号を添えて
まーしゃ@ご近所までお送り下さい。
締め切りは5月31日(月)です。

それでは早速、『KLIC完結編』の海へと潜りましょう。
実は、ちょっと長いです。
切れ目をつくれなかったのです。
でもすごくおもしろいので
息が苦しくなったら
休みながらでも読んでみてください。
vol.5vol.8もご参照下さい。

今回は、「KL1は納豆か」説、それから
「Java男はなぜモテるのか」なんて話してくれます。
ではでは、アナドレンコフ博士よろしく。

じゃ、KL1のことをちょっと話そう。

僕らの周りでは、 いろいろなプログラミング言語が
使われているんだけど、
適材適所っていう使われ方をしている。
じゃぁ、KLIC というか KL1 が適している分野って、
どんな分野なんだろう?

大昔、電子計算機が生み出された理由は、
大砲で打った弾頭がどんな軌跡を描いて
攻撃目標に到達するのかというのを
計算するためだった。

そう、戦争のためだったんですね。
それから、原子爆弾のシミュレーションなど。
この手の計算は、弾道や爆発する原爆を表す
複雑で長い方程式があるんです。
もしこんな方程式を手でシコシコ計算してたら、
寿命が来ても答えが出るかどうか分からない。

新しい新幹線の形状がナイスかどうか調べるために、
従来だったら実物大の模型で風洞実験するところ、
空気の流れを表すやはり複雑で長い方程式を解くんです。
5 時間後の天気を予想するのも、
やはり複雑で長い方程式を解く。

こういう、複雑で長い方程式を解く計算は、
数値的な計算と呼ばれています。
数値的な計算には Fortran と呼ばれる言語が良く使われます。
この道が計算機の本来の使われ方でした。

これに対し、KL1 が得意な計算は、数値的じゃない計算、
方程式を立ててそれを解くというのではない計算。
例えば、会話をしたり、日英翻訳をしたり、
ジョークを繰り出したり、音楽を演奏したり、
株価の予想をしたり、インターネットしたり、
テレビゲームしたり。
このような計算は記号的な計算と呼ばれます。

何故なら、
このような仕事をコンピュータにやらせる時、
コンピュータの中では、
馬や音符を horse とか note というような記号 (シンボル)
(この言い方がピンと来ないなら「単語」でもいいかな)
で表現して、それらを組み合わせたり分解したり、
あたかも数字を操るように、
記号を操って答を計算して行くからです。

さらに、例えば、
テレビゲームのプログラムを書く場合を考えてみましょう。
画面上には、プレイヤーの数と同じ数の車が走っていて、
さらに道路の様子や周りの風景も刻々と変わっている。
画面の下の方に出ている順位もどんどん変わる。
こういうのを並列処理と言います。

ものすごく当たり前のように聞こえますが、
コンピュータは、
車や周りの風景や順位の数字を並列に計算して
画面に出さないといけません。
これ、一体どういうプログラムを書けば良いのだろう?
料理のレシピみたいに、
命令を順番に書いて行けばいいのだろうか。
車のことばっかり計算していてもダメだし、
周りの風景ばっかりでもやっぱりダメだし。

こういう場合に待ってましたとばかりに登場するのが KL1。
KL1 で同時にいくつもの物体が動くような状況を記述するには、
まず各物体を別々に記述して、それらを並べるだけでオッケー。
えっ!? そ、それだけでイイの?うそっ!!
(正確には、各物体どうしが、
どういう影響を及ぼし合っているかという部分を
もう少し書き足す必要があるんだけど、
本質的には別々に書いて並べるだけ。)

すばらしい。
というわけで、ちょっとまとめると、KL1 が得意な分野は、
  1. 記号的な処理を高速に実行したくて、
  2. 複数のモノが同時に協調連携しながら動作する
ような分野ですね。
この手の記号的な計算は、将来、
コンピュータが我々にとって身近な存在に
なればなるほど、ますます必要とされる場面が
増えるだろうと言われています。

ところが KL1 って、
食わず嫌いの人が多いプログラミング言語なんだよね。
こんなに栄養が豊富で体にイイヨって言っているのに、
皆、「ふーん、すごいね」程度のお世辞は言ってくれるんだけど、
「でも僕は使わないな。
だって C の方が使い馴れているんだもん」なーんて
なっちゃうんですね。

ああ、KL1 は関西人にとっての納豆のような存在なのか。
はたまた、紅茶キノコか。
一般には、新し物好きとか、
トレンドを追いかけるみたいな言い方がありますが、
新しいプログラミング言語を一つ修得するというのは、
新しい外国語を修得する
ほどは難しくないにしても、
かなりのエネルギーを要する作業であることは事実。
だから、エネルギーをかけるに値するくらい
有用なプログラミング言語でなきゃ
やってらんないよって言うのは、人情としては良く分かる。
これが仕事なら、あまりリスキーなこともできないので、
英語みたいに、
より多くの人が喋っている言葉を使いたくなるのも良く分かる。
そういう意味で、
今が旬のプログラミング言語と言ったら Java でしょうね。

でも我々はハイリスク・ハイリターンを
目指すギャンブラーなんだっ!!
チャレンジこそ人生。
そうさ、常に新しくてより良いものを
追い求める 21 世紀の平賀源内なのさ。

それでですね、Java というのは、
前回お勉強したように手続型の言語なんです。
プログラムの計算指示の順に素直に従って
命令の実行を進めるというものです。

大きなプログラムや記号処理的なプログラムを書こうとすると、
苦労しそうな言語なんです。
それに、基本的には並列処理向きでもないんです。
しかし Java には、
完成されてないから愛されるみたいな所があって、
それで多くのプログラマや研究者の気持ちを
グッと掴んで離さないような現象も
見られます。

そういう Java みたいな男って居ますよね。
私の生まれ故郷ロシアでも Java のような男は多いと思います。

とは言うものの、
プログラミング言語の進歩の歴史を振り返ると、
それまでとは全く違うものが突然流行りだすということは、
一度もありませんでした。

プログラミング言語の世界は、
連続的に少しずつ変化して来たのであります。
今は Java が流行っています。
流行の真っ只中に居ると、
それが未来永劫続くように勘違いしがちですが、
人間の世界で未来永劫続くようなものって、滅多にありません。
今は Java でも、この状況は少しずつですが、
確実に連続的に変化して行きます。

では、どういう方向に向かうのか?
それが宣言的なプログラミングだと思うのです。
つまり手続型プログラミング言語は、
だんだん宣言的になって行く。
手続型の言語に宣言的言語の良い点がだんだん取り入れられて行く。

そして二つは融合する。
スティービー・ワンダーの ebony and ivory のように。
こうして、21 世紀の扉は開かれるのですね。

おしまい。
うわっ!かっこよい締めです。
スルドビッチ・アナドレンコフ博士、お疲れさまでした。
「チャレンジこそ人生」
また、来てください。

次は、とうとうリナックス登場なるか・・・。
さよなら。
せがたのせなか
【せがたのせなか】


福嶋 (まーしゃ)真砂代

1999-05-04-TUE

BACK
戻る