Golem.de hat einen mehrseitigen Artikel zum Thema: https://www.golem.de/news/comp…-vorhang-1905-141247.html
golem.de: UNIX im Ostblock
-
-
Sehr interessanter Artikel.
Ich frag' mich ja immer bißchen, was wohl passiert wäre, wenn die da mal selber was Eigenes gebaut hätten. Zum Beispiel ein MultiUser OS in Modula, wie lt. dem Artikel die - sehr sinnvolle (!) - Vorgabe der Theoretiker gewesen wäre. Die Tools dafür hätte man innerhalb eines halben Jahres haben können, wenn sie als Seminargruppenarbeiten oder Diplome o.ä. vergeben worden wären. Aber so haben die wohl nie getickt - stattdessen gab es da jederlei persönliche und arbeitsgruppenspezifische Animositäten und Abneigungen, man hat ja manchmal den Eindruck, daß es da insgesamt wie in einer Kleingartensparte zuging.
Zum Thema Unix
die Nummerierung ist irgendwie schon krude - was ist denn ein System V7 ? Ich dachte immer AT&T hört quasi bei System V (also "fünf") auf ?
Spannend ist i.Ü. auch die Frage, ob das wirklich so zufällig da seinen Weg hingefunden hat ...
( Extra: C Kurs _Chemnitz_ quasi von den Nachfolgern )
-
(...) - was ist denn ein System V7 ? Ich dachte immer AT&T hört quasi bei System V (also "fünf") auf ?
( Extra: C Kurs _Chemnitz_ quasi von den Nachfolgern )
Das wird aufgrund des Alters wahrscheinlich nur die Abkürzung für "Version 7" sein. Das "System" könnte eher verwirren.
EDIT: steht so auch auf der ersten Seite
-
Ja sowas hatte ich mir dann auch schon gedacht.
Das Buch von den beiden ist übrigens das da
https://www.amazon.de/Programm…-Clau%C3%9F/dp/B00KO4N1P8
und in moderner Aufmachung
https://www.ebay.de/itm/Buch-P…her-Fischer-/153084963954
Es gibt in Dresden im Militärhistorischen Museum eine DEC mit einer ziemlich haarsträubenden Geschichte dazu, wie und über welche Wege die ihren Weg durch die Welt nach Rostok/Wismar/Stralsund o.ä. gefunden - schön in Teilen und als irgendwas anderes deklariert. Das dürfte dann wohl auch die "Basismaschine" für die Nachbauten gewesen sein, wie sie ganz am Anfang im Artikel erwähnt werden, z.B. die, worauf die zwei das Band getestet haben.
Ich glaube das einzige kleinere Multiusersystem, was wirklich auch im größeren Maßstab genutzt worden ist, war dann aber die P8000 mit WEGA - und die war zumindest nicht in Computerkabinetten zu finden. Ist aber ein interessantes Gerät. Hatte mal ein Terminal dafür inkl. Keyboard, was aber relativ sinnfrei ist, ohne den kleinen grünen Turm (zumindest einen davon), weshalb das nach langem Rumliegen wieder gehen mußte (an jemanden der eine P8000 hatte, oder zumindest schon deutlich mehr Teile davon).
Lustig finde ich ja auch die Bemerkung im Artikel, daß das Schönste an dem Ganzen die Pointer waren - also genau das Konzept, was dem "Sprachtheoretiker" wahrscheinlich alle Haare zu Berge stehen läßt.
-
Dabei kann Pascal und Modula auch mit Pointern arbeiten...
-
Dabei kann Pascal und Modula auch mit Pointern arbeiten...
Richtig. Sogar UCSD Pascal hatte schon pointer. Das geklonte Turbo Pascal, was man in der DDR verwandt hat, sollte die eigentlich auch gekonnt haben. funkenzupfer programmiert in C, vielleicht kann er dazu was sagen. Vielleicht können C-pointer etwas, was man in Pascal nicht oder nur schlecht kann?
-
In Pascal hab ich vor C programmiert, ist also noch laenger her.
Ich kann mich auch nicht dran erinnern in Pascal Pointer benutzt zu haben.
Ich wuerde sogar behaupten, im alten Standard war es nicht vorhanden und kam erst so mit Turbo Pascal fuer den PC, weil man wieder eine Kruecke brauchte um an Speicherbereiche (z.B. >=640k) oder Speicherstellen (BIOS-Variablen) zu kommen, die sonst nicht erreichbar waren.
Das ist aber mehr subjektiv. Und wie gesagt, lang ist's her.
Einen Punkt mit Pointern gibt es, auch wenn man es nicht sieht.
Wenn man eine Funktion/Prozedur hat
f(char a, var char b)
(Ist syntaktisch wahrscheinlich nicht ganz richtig)
a ist ein Parameter by Value (wird also kopiert und dadurch beim Caller nicht veraendert) und b ein Parameter by Reference, sprich der Pointer von b wird der Funktion uebergeben. Die Zugriffe ueber den Pointer werden fuer den Programmierer verschleiert.
Ich les gerade in Wikipeadia:
In Pascal existiert keine Zeigerarithmetik.
Das ist dann ein nennenswerter Unterschied zu C.
-
Pascal kann Pointer, und das schon viel länger als dass es Turbo-Pascal gab.
https://www.tutorialspoint.com/pascal/pascal_pointers.htm
Ohne Pointer wären verkettete Listen in Pascal nicht implementierbar. Und wenn Pascal es kann, dann kann es Modula auch.
-
Code
Alles anzeigenprogram zeiger_ringliste; uses crt; type zeiger=^kind; kind = record name : string; nachf : zeiger end; var aktuell,anfang : zeiger; ch : char; silben,i : integer; begin clrscr; write('anzahl der silben : ');readln(silben); new(aktuell); write('Name Kind 1 : ');readln(aktuell^.name); anfang:=aktuell; repeat new(aktuell^.nachf); aktuell:=aktuell^.nachf; write('name : ');readln(aktuell^.name); write('abbruch mit (n) '); ch:=upcase(readkey); until ch='N'; aktuell^.nachf:=anfang; aktuell:=anfang; repeat for i:=1 to silben-1 do begin aktuell:=aktuell^.nachf; end; aktuell^.nachf:=aktuell^.nachf^.nachf; until aktuell=aktuell^.nachf; write(aktuell^.name); ch:=readkey; end.
Hier mal was aus der "Snippets" Sammlung. Keine Ahnung, wo das herkommt, aber wahrscheinlich von irgendeinem Programm-Lernbuch - so ist das halt, wenn die Leute keine Programmköpfe schreiben ...
Ist aber ein wirklich lustiges Demo für Pointer in Pascal.
Na, wer bekommt raus, was es macht ?
PS: Man beachte, daß es auf einen record pointert, d.h. es ist schon ganz gut flexibel benutzbar. Nur mit dem Aufräumen haben sie's nicht so, aber vielleicht macht das Pascal ja sogar selber.
-
Sowas ähnliches habe ich auch mal programmiert, als doppelter Ring, das heißt, jedes Element hat einen Zeiger auf das nächste Elemet, und auf das vorige. Und Es gibt keinen Anfang und kein Ende der Liste, weil das letzte Elemnt wieder auf das erste deutet. Elemente wurden alphabetisch in den Ring einsortiert und konnten wieder rausgelöscht und nach Inhalten und Eigenschaften durchsucht werden. Und als dass das noch nicht genug war, konnte an jedem Ring-Element noch eine Baumstruktur beliebiger Größe mit Unterelementen dran hängen. Das habe ich damals in ST-Pascal+ programmiert und dann spaßeshalber auch mal auf Turbopascal angepasst (war nicht schwer). Und dann habe ich es nochmal in C nachprogrammiert.