Ist Oberon wirklich "ein besserer Pascal"? [geschlossen]

12

Wenn man Niklaus Wirth liest , kann man feststellen, dass Oberon (als "polierter" Nachfolger von Pascal und Modula) trotz einiger Popularität von Pascal nicht sehr beliebt ist. Ich habe nie etwas in Oberon gemacht, aber die Seite Oberon gelesen Für Pascal-Entwickler Ich mochte zum Beispiel als Delphi / Pascal-Entwickler nicht viele der Änderungen

  • Erzwingen, dass die reservierten Wörter immer in Großbuchstaben geschrieben werden
  • die Sprache zwischen Groß- und Kleinschreibung unterscheiden
  • Aufzählungstypen loswerden

Was denkst du über Oberon, ist es aus deiner Sicht wirklich "ein besserer Pascal"?

Maksee
quelle
3
Oberon scheint ein fernes Echo der Ada / Pascal-Ära in der Programmierung zu sein. Es ist vielleicht etwas besser als Wirths ursprüngliche Pascal-Sprache, aber offensichtlich ist es Turbo Pascal / Delphi unterlegen.
Mojuba
2
@ Mojuba, das sieht aus wie eine Antwort auf mich ...
Glenatron
War das nicht schon einmal geschlossen? Was ist mit dem Bearbeitungsverlauf passiert?
Robert Harvey
Ich hatte in meinen Studienjahren eine kurze Faszination für Oberon. Ich wünschte, ich wüsste mehr darüber, um eine Meinung zu haben.
Barry Brown
1
Das Erfordernis von reservierten Wörtern in Großbuchstaben wäre für mich ein Deal-Breaker. Ich finde Kleinbuchstaben viel leichter zu lesen.
GroßmeisterB

Antworten:

8

Ja, ich würde Oberon einen besseren Pascal nennen. Professor Wirth brachte mit Oberon den Kern der objektorientierten Programmierung mit Typerweiterung und Prozedurvariablen auf den Punkt. Ich finde es elegant, dass Oberon eine kleinere Sprache als Pascal mit viel mehr Macht ist.

Oberon 2 hat die Sprache weiterentwickelt und Methoden an Aufzeichnungen gebunden.

Ich mag die reservierten Wörter in Großbuchstaben nicht. Ich finde die Syntax eine Verbesserung mit der Beseitigung vieler Anfänge und Enden.

Oberon wurde verwendet, um ein sehr interessantes Betriebssystem zu schreiben, das in Project Oberon beschrieben wurde: Das Design eines Betriebssystems und eines Compilers .

Blake
quelle
6

Es ist in verschiedener Hinsicht besser und schlechter:

Es ist schön, Speicherbereinigung und Einrichtungen für modulare und objektorientierte Programmierung zu haben. Es ist eine relativ kleine Sprache; leicht zu analysieren und zu implementieren.

Das Fehlen von Aufzählungen ist ein Schmerz (tatsächlich haben wir sie im erweiterten Oberon-Dialekt wieder hinzugefügt).

Im Vergleich zu moderneren Sprachen ist der Minimalismus etwas brutal, und die Behandlung von Zeichenfolgen als Arrays von Zeichen in einer beliebigen Sprache ist furchtbar.

Natürlich hat sich auch Pascal stark weiterentwickelt, siehe zB Component Pascal.

grrussel
quelle
Wie können Sie in Ihrem erweiterten Oberon-Dialekt die Erweiterung von Aufzählungstypen durchführen? Grund, den ich frage: Professor Wirth sagte, er könne keinen guten Weg finden, dies zu tun, und deshalb entfernte er aufgezählte Typen aus der Sprache.
John R. Strohm
2
Eigentlich glaube ich, dass Component Pascal trotz seines Namens ein Nachfolger von Oberon ist, nicht Pascal (außer natürlich indirekt). Es geht so etwas wie Algol-X (nie implementiert) -> Algol-W -> Pascal -> Modula (nie implementiert) -> Modula-2 -> Oberon -> (einige Revisionen von Oberon) -> Komponente Pascal.
Jörg W Mittag
2
Wirth war Purist; er entschied, es sei besser, die Typensicherheit von Aufzählungen für die Erweiterbarkeit und Orthogonalität zu verlieren. Wir schreiben viel Code, der von der Typprüfung von Aufzählungen profitiert, bei denen zufällige Wertkollisionen ansonsten subtile Fehler verursachen würden. Kurz gesagt, da wir sowohl die gesamte Oberon-Codebasis als auch den Compiler kontrollieren, verzichten wir auf die Typerweiterung von Enums, um eine Klasse extrem irritierender Programmfehler zu vermeiden.
Grrussel