Diskussion:Forth

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Kategoriezuordnung[Quelltext bearbeiten]

Bloß weil es von Data Becker ein Forth gibt, hat Forth als Gattungsname nicht mit der Kategorie "Data Becker" gemein. Die Verbindung zu Data-Becker-Produkten geht über Links, die her erwähnt werden, aber sollten nicht über die Kategorie gehen, sonst wird das Konzept der Kategorie ad absurdum geführt. --JohannKlasek (Diskussion) 18:50, 24. Apr. 2022 (CEST)

Name[Quelltext bearbeiten]

Die Schreibweise FORTH (zumindest die durchgehende wie im Artikel bislang) ist nicht korrekt - "Forth" reicht völlig. Chuck Moore selbst erklärt in der Geschichte der Sprache Forth (Buch HOPL - History of Prgramming Languages, 1996) das es sich nicht um ein Akronym handelt und daher keine Notwendigkeit besteht, es in Großschreibung zu halten. Wir machen das z.B. bei Pascal auch nicht. --JohannKlasek 18:14, 1. Dez. 2012 (CET)

Wenn Du Dir die Mühe machst...
Kein Problem, ist mir wirklich ein Anliegen. Das eine oder andere ist das auch noch eine Anpassung wert.
Komischerweise wurde in der damaligen Zeit (80'iger Jahre) alle Programmiersprachen in Zeitschriften und Büchern gross geschrieben.
Ich würde hier eher den Wunsch des Schöpfers der Sprache respektieren (oder die standardsprachliche Regeln), als noch so viele Referenzen in Zeitschriften.
Heutzutage will man fast alle normal oder klein schreiben, selbst bei BASIC wird kein halt gemacht oder oftmals auch bei anderen Abkürzungen.
Solche Effekte entstehen, wenn die Herkunft des Begriffs nicht bekannt ist oder einfach nicht darüber nachdenkt. Fehler werden da ständig gemacht.
Ich selber halte mich an den Vorgaben aus den 80'iger (auch beim Artikel schreiben), dann erkennt man sofort ob es zum eine Programmiersprache oder ob es sich um etwas anderes handelt.--Jodigi 19:46, 1. Dez. 2012 (CET)
Naja, nach der Argumentation müsste man ja alle Begriffe groß schreiben, die von einer vermeintlichen Hervorhebung einen Vorteil hätten. Wir sollten im Wiki nicht schlechte und falsche Gewohnheiten pflegen, sondern vorbildlich wirken. Zumindest im Fließtext sollte es richtig stehen. Nur wenn z.B. in einem Buchtitel, Artikeltitel oder einem externen Link das Forth groß geschrieben wird, dann hat das in diesen Situation freilich seine Berechtigung. Aber wie wir bei Pascal sehen, kommt in diesem Kontext auch niemand auf die Idee, dass der Vorname einer Person gemeint sein könnte. Noch weniger beim Begriff Forth, der sich mit großem Anfangsbuchstaben als Hauptwort bzw. Begriff zu erkennen gibt und so nicht mit englischen Wörtern konkurriert, da es sich meist um eine Falschreibung von fourth handeln würde.
--JohannKlasek 00:19, 2. Dez. 2012 (CET)


Sprache - Betriebssystem[Quelltext bearbeiten]

Hmm, irgendwie ist die Darstellung der Sprache (und es ist eine Programmiersprache!) das einen "Sonderweg" beschreitet bzw. es als "System" zu umschreiben für mich schon etwas zu mystisch. So ist es gar nicht. Es verbindet gewisse Konzepte nur auf eine andere Art und Weise, wie wir es heute vielleicht gewöhnt sind. Dabei darf man auch nicht aus den Augen verlieren, dass hier grundsätzlich andere Voraussetzungen (zur Entstehungszeit von Forth) und heute gegeben hat.

Der Sonderweg ist ja nur der Architektur geschuldet. Dass bei Forth ein Parser/Compiler und Interpreter/Laufzeitsystem in "einer Instanz" aktiv ist, ist vielleicht das außergewöhnliche Merkmal schlechthin (neben stackorientiertheit). Dies macht es ja möglich für heute Verhältnisse einem Betriebssystem zuzuordnende Tätigkeiten "bequem" in Forth selbst zu implementieren (was aber dort - im Kern - weit von dem entfernt ist, was heute üblicherweise von Betriebssystem erwartet wird.

Der kausale Zusammenhang ist aber etwas verdreht dargelegt: Forth ersetzt kein Betriebssystem (es könnte und kann nämlich ganz gut mit einem bestehenden Betriebssystem leben), will es auch nicht, sondern enthält lediglich alle für sich notwendigen Funktionen (welche nur sehr rudimentär sind und kaum als Betriebssystem zu bezeichnen wären - in Wirklichkeit auch nicht den Anspruch erhebt ein solches zu sein), um vor allem autark auf einer Hardware aktiv sein zu können. Eine Eigenschaft, die für den "embedded" Einsatz einfach notwendig ist. Das war auch die historische Wurzel, welche auch genannt ist. Gerade wegen der Portierbarkeit braucht Forth nur diverse BIOS-Routinen, die ein Zeichen einliest/ausgibt und Zugriffe auf einzelne Blöcke eines Massenspeichermediums. Das ist sozusagen nur die Ankopplung, das Forth mit der Außenwelt interagieren kann. Sonst bietet es faktisch keine (schon gar nicht über eine sprachunabhängige API zur Verfügung gestellte) Ressourcenverwaltung, was in der Informatik bei Betriebssystemen die zentrale Funktion ist. Die Trennung von Betriebssystem und Sprache ist kein zwingendes Kriterium, um Portabilität zu erreichen. Diese bei Forth implizit gegeben! Insofern ist Forth, um einen Vergleich zu bemühen, ein Haus, dass sein Fundament gleich mitbringt. Einen Wasser-, Kanal- u. Stromanschluss braucht es aber trotzdem. ;)

Das Betriebssystemfunktionen in einer "Hochsprache" implementiert sind, ist ja nichts Neues (z.B. Unix mittels C) und ist heutzutage defacto Standard.
Bezüglich Betriebssystemfunktionalität in Sprachen, so erinnern wir uns nur an FORTRAN und COBOL, deren Sprachkonstrukte für die Ein-/Ausgabebehandlung integraler Bestandteil der Sprache war und zum Teil sogar umfangreicher war, als die eigentlichen Sprachkonstrukte. Oder um eine modernere Sprache zu erwähnen, sei ADA angeführt, wo gewichtigte Konzepte der Concurrency und Synchronisation von Prozessen in der Sprache selbst abgebildet sind (die man sonst nur in Betriebssystemen findet). Auch hier verwischt sich die Trennung Laufzeitsystem der Sprache und dem eigentlichen Betriebssystem. So elegant wie Forth, dass es sich dazu selbst verwendet, ist aber in der Tat kaum wo zu finden (und zumindest nicht so bekannt wie Forth).

Wie auch immer, bei Gelegenheit die eine oder andere sanfte Anpassung vornehmen (speziell hinsichtlich All-in-one mit den Vergleichen zu Oberon, Smalltalk etc.) und einige wichtige Aspekte der Sprache/des Systems ergänzen, ohne allerdings allzu umfassend, theoretisch und detailliert zu werden. Ich glaube die Intention dieses Artikels war ja wohl, eine grobe Übersicht und Darstellung zu geben. Dies hier soll gewissermaßen als Begründung für die kommenden Feilerein herhalten. ;)

Tote Weblinks[Quelltext bearbeiten]