オベロンは本当に「より良いパスカル」ですか?[閉まっている]


12

Niklaus Wirthを読むと、Pascalの人気にもかかわらず、彼は(PascalとModulaの「洗練された」後継者として)Oberonがあまり人気を得なかったことに気付かないことがあります。私はOberonで何もしませんでしたが、Pascal開発者向けのOberonのページを読んで、Delphi / pascal開発者としての変更の多くが本当に好きではありませんでした。

  • 予約語を常に大文字にする
  • 言語の大文字と小文字を区別する
  • 列挙型を取り除く

Oberonについてどう思いますか、それは本当にあなたの観点から「より良いPascal」ですか?


3
Oberonは、プログラミングにおけるAda / Pascal時代の遠いエコーのようです。Wirthの元のPascal言語よりも若干優れている場合がありますが、明らかにTurbo Pascal / Delphiよりも劣っています。
mojuba

2
@mojuba、それは私の答えのように見えます
...-グレナトロン

これはもう一度閉じられていませんか?編集履歴はどうなりましたか?
ロバートハーベイ

私は大学時代にオベロンに簡単な興味を持っていました。私は意見を持っていることについてもっと知りたいと思います。
バリーブラウン

1
大文字の予約語を要求することは、私にとって大きな障害となります。小文字のほうが読みやすいと思います。
GrandmasterB

回答:


8

はい、Oberonをより良いPascalと呼びます。Oberonを使用して、Wirth教授は、型拡張とプロシージャ変数を使用したオブジェクト指向プログラミングのコアになりました。OberonがPascalよりもはるかに強力な言語であることがエレガントだと思います。

Oberon 2は、メソッドをレコードにバインドすることにより、言語をさらに一歩進めました。

大文字の予約語は嫌いです。多くの開始点と終了点を排除することで、構文が改善されました。

Oberonは、Project Oberon:The Design of a Operating System and Compilerで説明されている非常に興味深いオペレーティングシステムを記述するために使用されました。


6

それは、さまざまな点で優れています。

ガベージコレクションと、モジュール式およびオブジェクト指向プログラミングの機能があると便利です。これは比較的小さな言語です。解析と実装が簡単です。

列挙の欠如は苦痛です(実際、使用する拡張されたOberon方言では、それらを追加し直しました)。

より現代的な言語に比べて、そのミニマリズムは少し残忍であり、文字列を任意の言語の文字の配列として扱うのは恐ろしいことです。

もちろん、Pascalもかなり進化しています。たとえば、Component Pascalを参照してください。


拡張されたOberon方言の列挙型の型拡張はどのように行いますか?私が尋ねる理由:Wirth教授は、それを行う良い方法を見つけることができないと言ったので、言語から列挙型を削除したのはそのためです。
ジョンR.ストローム

2
実際、Component Pascalはその名前にもかかわらず、PascalではなくOberonの後継者であると信じています(もちろん間接的には除きます)。Algol-X(実装されていない)-> Algol-W-> Pascal-> Modula(実装されていない)-> Modula-2-> Oberon->(Oberonの一部の改訂版)-> Component Pascal
ヨルグWミットタグ

2
ワースは純粋主義者でした。彼は、拡張性と直交性のために列挙型の型安全性を失う方が良いと判断しました。列挙型の型チェックの恩恵を受ける多くのコードを記述します。これにより、偶発的な値の衝突により微妙なエラーが発生する可能性があります。つまり、Oberonコードベース全体とコンパイラの両方を制御するため、非常に刺激的なプログラムエラーのクラスを防ぐために、enumの型拡張は行いません。
-grrussel
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.