機械です。
>言語の簡潔さと、その言語で書かれるプログラムの簡潔さは多くの
>場合対立します。ここではプログラムの簡潔さについて語っている
>のだと思いますから「シンプルな文法」はむしろ敵です。
>
>もっとも、複雑過ぎる言語は自己崩壊する危険性をはらんでいます
>から、バランスが必要なのはあいかわらずなのですが。
制約の無い言語であれば、その黄金比を追求すれば、
非常にバランスの良い言語が出来ると思うのですが、た
とえばPythonのように、そもそもの目的に「教育用」な
どという厄介なモノが入っていた場合、文法に関する制
限が非常に厳しくならざるをえないということになりま
す。
※学生にプログラムを教えるのに、Lispをあきらめて
Pythonにきりかえたというのはそこらへんでしょう。
一方、プロのツールであれば、最低限「自分の過去の
コードは読んで理解できる」というあたりにとどまるで
しょうし、純粋に計算機用であったり、ブラックボック
スにした内部を殆ど見る必要が無い場合などは、もっと
特化できるでしょう。
※いくらソースコードを見る必要があるといっても、数
万行のコードを一行づつ検証しなければならないよう
な羽目にはならないはず・・・いや、プロじゃないか
ら断言できませんが、そうなる前にモジュール化ぐら
いはしてるはずだと思うので・・・
「何にでも使える」という言語が無いのは当たり前と
しても、カヴァー範囲が広がれば広がるほどそれぞれの
用途での有用性は下がってくるはずです。
かといってあまりに専門化された言語は、覚える労力
に対して使える状況が少なく敬遠されそうなので、複数
の言語を使うことを前提に、やはり切り捨てるべきは切
り捨てて「使える」モノにしていかなければならないわ
けです。
しかし、本来のニッチを超えて広まってしまったC言語
(前後してBASIC,C++,Java)は、話をややこしくしてい
ます。
Mr.Grahamの言葉を借りるなら「どんな言語でも同じ・
・・ではない」のに、あたかもどの言語でも同じだと考
え、現在ポピュラーな言語に傾倒して、それを使ってし
まう。
※大体、なんであんなにC言語の本が多いのだろう?
もっとも私は「有利不利」でなく「それぞれの言語に
合った使い道がある」という形で選択できていないとこ
ろに、プログラミングがコンピュータユーザからいつの
まにか遠い存在になってしまった一因があるように思え
ます。
いやそれ以前に、プログラムの書けない人でもコンピ
ュータが使えるようになった、という理由のほうが大き
いのは事実でしょうが、もうちょっと何かうまくやれば、
もっとプログラミングできる人、ふえるんじゃないかと
私は期待しています。
機械伯爵