まちゅダイアリー

もしもプログラミング言語が車だったら

2006-03-29

また日記がサボりがちになってしまった。 今日は、言語を車に例えるとどうなるか、とか考えてた。 その結果がこれ。 言語も車も中途半端にしか知らないので、的を外しているかもしれないけど、ご容赦を。

ふじさわさんが「プログラミングは難しいよ?」 と言うのは、教習所でいきなりスポーツカーに乗ろうとしたようなものなのかも*1。 重たいステアリングとクラッチに戸惑っているような。

それから、言語も車と同じで目的に応じて使い分けるものだな、と改めて思った。

備考

なんでこんなことを考えたのかというと、車の「ライトウェイトカー」と言語の「Lightweight Language」は意味が違うよなぁと思ったから。 どちらも乗り手(書き手)に対して運転(プログラミング)の喜びを与えることを目的としているけど、車のそれが余計な機能・設備(車内空間やスライドドアやリアシート)を無くして物理法則に忠実にあろうとする*2のに対して、言語のそれはインタプリタやライブラリやヘルパ機能を充実させて使い勝手を向上させようとする。 だから、「Lightweight Language」は、車で言うところのファミリーカーやコンフォートカーやミニバンなんだろうな…と。

車の物理法則が直感的なのに対して、コンピュータ (ハードウェア) の仕組みが直感的じゃないところが違うのか。 ハードウェアの直感的じゃないところをカバーするのが、ソフトウェアの役割ということか。

追記

思った以上に反響があったみたい。 Pascal がないのは、単によく知らないだけだったり。 はてなブックマークで言及されていたので引用させてもらう。

Pascal:フルマニュアル、どころか、行き先をちゃんと宣言しないと動かない。事故が減ると期待されたが、面倒なので誰も乗らない。で、楽に乗れる車に乗って(以下略/Fortrun,vect.を積んだダンプカー?

FortrunとLispが抜けているのも同様。 Lisp は知ったかぶりで書こうとしたんだけど、忘れてた。

追記2 (2006.3.30)

YukiWiki にページを作りました。ご自由に加筆修正ください。(参考