■その他の言語■

↑

■その他の言語■


PL/I

PL/I (Programming Language One) は1960年代半ばにIBMが開発した言語です。その当時 FORTRAN,COBOLというのが二大主力言語だったわけですが、FORTRANが技術計算、COBOLが事務計算で使用されていたため、その両者に使えるパワフルな言語を作ろうということで作られたのがこの言語です。

私はその理念が素晴らしいと思い、中学生の頃だったと思うのですが解説書を買ってきて、勉強してみたのですが。。。。。

この言語は流行らないだろうと思いました。そしてその予想は的中しました。

Algol

ALGOL(ALGOrhythmic Language)は1960年にヨーロッパで開発された言語です。アメリカで作られたFORTRANに対抗したもので、Algorhythmic という名前に恥じない、アルゴリズムの記述に適した、よくできた言語でした。

私はずいぶんあとになって、たしか1977年頃に少し勉強しまして、いい言語だと思ったのですが、近くに処理系がなかったことから、そのままになってしまいました。

日本ではほとんど使用されていないと思いますが、このALGOLの思想はその後の Pascal や C に受け継がれていきます。

Pascal

1971年にスイス連邦工科大学のヴィルトが開発した教育用言語です。教育用ということだけあって、非常に美しい構造をしています。BASICも教育用として開発されたのですが、BASICは「易しく使える」ということが主眼でしたので、BASICから入ったプログラマは一般にひどいプログラムを組んでいました。これに対して、Pascalというのは、どのようにプログラムを組むべきかという思想が明確な言語で、この言語から入ったプログラマは間違いなく美しいプログラムを組むことになります。

いわば剣道を教えるのに、いきなり竹刀を持たせて「さぁ適当に打ち合ってみなさい」というのが BASIC, それに対して最初は礼儀作法や挨拶の仕方から仕込むのが Pascal という感じです。アメリカとヨーロッパの文化の違いなのかも知れません。

Macintoshの初期のOSはこのPascalで書かれていました。そのため有名なInside Macintosh もシステムの呼び出し方はPascalから呼ぶことを想定して書かれていました。やはり美しいOSを作り出したのは美しい言語だったのです。

なお変数名の書き方で C/C++ には get_current_position のような書き方の流儀と、 GetCurrentPosition のような書き方の流儀がありますが、後者を一般に Turbo Pascal風と呼んでいます。Turbo Pascal を使う人たちから広まったものと思われます。Visual C++ などはこの Turbo Pascal風の名前が標準になっています。

Prolog

Prolog (PROgramming in LOGic)はまだ未来の言語です。

この Prolog を学ぶと、また頭が一回壊れて再構築されます。従来型のCOBOLとか C++ とかを学んだ人にはしんどい言語ですが、ものすごく自然な言語です。

将来的にはたいへん有望な言語だと思うのですが、まだこの言語の本来の力を発揮できるような高速のCPUは出現していません。

HyperScript

HyperSciptはQuickDrawの作者としても有名なビル・アトキンスン作のHyperCardで採用されたスクリプト言語です。ビル・アトキンスンはアラン・ケイに心酔していたようにも思われます。HyperCardというソフト自体がアラン・ケイのダイナブック思想に迫るもので、その基本は使う人が自分でプログラムできるツールというものです。

HyperScriptは徹底的なオブジェクト志向と Non-Goto プログラミングが貫かれています。発表当時のマシンでも通常おこりうる程度の処理に対しては充分な処理速度がありましたし、理想的なソフトだったと思います。

ビル・アトキンスンはHyperCardをアップルに提供する条件として無償バンドリングすることをあげていました。しかし後にアップルはHyperCardのフルバージョンは有料にしてライト版のみをバンドリングする方式に変え、更にはバンドリングをやめてしまいました。事実上、その瞬間HyperCardの時代は終了し、多くの人々がアップルに失望し、アップル自体も経営悪化の道を転がり落ちることになります。

Lingo

マクロメディア社のDirectorで使用されているスクリプト言語です。Directorはしばしばソフトの紹介ムービーに使用されていますし、またインターネットでも対話型のムービーやゲームを公開する手段としてひじょうによく使用されています。

LingoはいわばHyperCardをムービーの世界に持っていったような言語です。ただしHyperCardがかなり趣味的に作られていたのに対して、Lingoは本格的な開発向けの工夫がいろいろと施されていました。Gotoを禁止して、徹底的なオブジェクト志向を貫いているのは同じです。LingoでGotoと書けばそれはロジックの移動ではなく、フレームの移動にしかなりません。

SmallTalk

SmallTalkは1972年にXEROX社で開発されました。アラン・ケイのダイナブック思想の一環を構成するものです。

SmallTalkの特徴(理想)は次の点に要約できます。

この理想が30年近くたった現在でも、まだ十分に実用域に達する状態で運用されていないことが、アラン・ケイの理想の高さを示しています。

SmallTalkの信者の人たちはSmallTalkのみがオブジェクト志向と考えC++などは一笑に付します。むろんMacintoshなどはエセSmalltalkとして馬鹿にします。

Visual C++ はオブジェクト志向、大量のサンプル部品、ウィンドウシステムと強力なブラウザ、というところまで迫っていますが、オブジェクトはターゲットマシン専用になりますし、素人の人がこれを使えるようになるには2年かかります。

Javaはオブジェクト志向で、(理想的には)どんなマシンでも動作しますが、強力なブラウザを持った開発システムというのを私は知りませんし、部品というのもあまり見ませんし、素人にはとても扱える代物ではありません。

HyperCardはオブジェクト志向で、大量のサンプルが出回っており、コンピュータの知識のない人にもある程度組むことができますが、Windows版が立ち消えになった上にMacintoshにもバンドリングされなくなり「どんなマシンでも動く」という所が弱くなってしまいました。またブラウズ機能が貧弱であるため、複雑なプログラムを組むことが困難です。

Directorはオブジェクト志向で、ある程度のサンプルが供給されており、一応どんなマシンでも動作し、プログラムのブラウザは強力で保守しやすく、かなり理想的に思えますが、やはり素人には無理です。VisualC++ほど難しいものではありませんが、習得には3ヶ月程度必要です。

(1999年頃の文章)



(C)copyright ffortune.net 1995-2016 produced by ffortune and Lumi.
お問い合わせはこちらから