An die Programmierer: stimmt das?
Terry A. Davis hat damals eine eigene IT Sprache "holyC" und ein eigenes OS "TempleOS" in Laufe von 10-20 Jahren selbst in seinem Kinderzimmer programmiert ohne außenstehende Hilfe. Mit eigenem Compiler, 3D Grafiken, Spielen etc.
Und jemand meinte, dass es vergleichbar ist, wie wenn man ein TV aus Stock und Stein ohne Hilfe baut vom Aufwand
Also ist das schon eine Art "Meisterleistung"?
4 Antworten
Natürlich ist es das. Besserer Vergleich wäre ein Sportwagen komplett sonst zu bauen ohne Hintergrundwissen (des haben nämlich schon Leute wirklich gemacht)
Ja ist es. Gleichzeitig aber auch unfaßbar dumm. Man hat im Alleingang, selbst mit einer größeren Gruppe, einfach keine Chance ein OS plus grundlegende Tools soweit zu bringen, daß es für irgendjemanden nützlich ist. Das schaut man sich maximal an, ist kurz beeindruckt, und kehrt dann zu Linux, Mac oder Windows zurück und arbeitet weiter. Soviel Lebenszeit dafür verschwenden? Ich weiß nicht ob jemand ohne psychische Probleme das je tun würde.
Ich würde ihn deswegen nicht als Dumm bezeichnen, sein Ziel war ja auch nicht ein OS zu schaffen welches jeder nutzt, sondern er wollte ein OS für sich selbst erschaffen.
Es mag eine Leistung sein, aber nicht so sehr, wie behauptet.
Welches nicht von ihm stammendes Know-How hat er denn verwendet? Wie ist er denn darauf gekommen, dass ein Rechner eine Betriebssystem haben könnte? (Das ist nicht sebstverständlich, die ersten Rechner hatten nämlich keins.)
Wenn ich aber schon einen Rechner habe und eine Möglichkeit habe, ihn zu programmieren, dann ist es keine überragende Leistung, eine Programmiersprache zu erfinden oder ein Betriebssystem zu programmieren.
dann ist es keine überragende Leistung, eine Programmiersprache zu erfinden oder ein Betriebssystem zu programmieren.
Für eine Einzelperson schon.
Erstmal muss man es können, denn nur weil man Programmieren kann, kann man noch nicht einen eigenen Compiler schreiben und nur weil man das Wissen hat, bedeutet es nicht, dass man die Zeit aufwendet es umzusetzen.
Also es ist durchaus eine große Leistung einer einzelnen Person auch wenn sie keinen wissenschaftlichen Mehrwert hat.
Also für den gesamten Task an sich hätten vermutlich auch viele Programmierer schlichtweg nicht das notwendige Wissen.
Mich stört hier nicht, was gekeistet wurde, sondern die Art wie das aufgebauscht wird.
Einen Fernseher nur aus Rohstoffen wie Holz und Stein??
Wenn es schon 100 Programmiersprachen gibt, kann man auch eine 101-te erfinden. Wie man Compiler baut, ist bekannt. Das schafft man auch allein in absehbarer Zeit.
Eine andere Größe ist, wie Konrad Zuse den ersten funktionierenden programmierbaren Rechner gebaut hat, ohne dass es jemals vorher einen solchen gegeben hat.
Die Analytische Maschine von Babbage war vorher der erste nennenswerten Versuch in dieser Richtung. Sie war nur mit den damaligen Mitteln nicht realisierbar.
Das Bemerkenswerte an TempleOS ist dass Terry es geschafft hat ein 64-bit Betriebssystem, einen eigenen Hochsprachen Compiler, eine 3D Grafikbibliothek, ein Dateisystem und vieles vieles mehr in knapp 100.000 Zeilen Code und 2MB unterzubringen. Natürlich ist das keine Pionierleistung wie die von Konrad Zuse, aber mit Sicherheit, auf die Anzahl auf Programmierer weltweit gerechnet, etwas was quasi niemand könnte. Daher kann man die Komplexität des Ganzen schon mit dem Bauen eines Fernsehers aus Stöcken und Steinen betrachten, wenn man von der Anzahl der Menschen ausgeht die die Besten auf ihrem Gebiet sind.
Sowas ist machbar!
Ich habe ähnliche Experimente als Kind gemacht, wenn auch kein wirkliches OS. :)
Und so ist das möglich:
Als kleines Kind fand ich Computer beim Arzt usw. faszinierend. Ich erinnere mich an die grünen und bernsteinfarbenen Schriftzeichen. Ich vermute mal, dass das noch keine PCs, sondern noch "Heimcomputer" waren (C64 usw.)
Mein Vater kam '93 mit einem IBM-386 nach Hause, der MS-DOS drauf hatte. Diesen hatte er von seiner Arbeit her, weil dort die Bürocomputer getauscht wurden.
Ich konnte kaum lesen und schreiben (ich ging 1. Klasse Förderschule^^) und habe meinen Vater beobachtet, wie er ein Spiel von einer Diskette versucht hat, zu installieren. Es war das einzige vorhandene Spiel.
Das ist ihm misslungen. Stattdessen hat er es irgendwie geschafft, die Diskette zu löschen. Darauf hat er einen gesoffen und die Kiste nicht mehr angeguckt...
Auch wenn mein Vater nur Schaden angerichtet hat, habe ich mir von ihm ein wenig abgeschaut, wie ein PC funktioniert: Man muss da was eingeben, damit was passiert. Aber man kann sich aussuchen, was passiert. Das ist der wesentliche Unterschied zwischen einem PC und einem Fernseher.
Irgendwann durfte ich erste Mal den PC im Beisein meiner Mutter benutzen @.@.
Da war ein Malprogramm drauf und das hat meine Mutter mir angemacht.
Ich griff nach der Maus und habe versucht, zu malen. Ist natürlich völlig misslungen, weil das total schwierig war....
Nach und nach habe ich mich mit dem Ding beschäftigt. Für meine Eltern und mein Bruder war das Ding total uninteressant, weil altes OS und keine Spiele drauf.
Ich habe nach und nach rausgefunden, wie der Norton Commander (=Dateibrowser für DOS) funktioniert und das Prinzip von Datenträgern, Dateien und Ordnern verstanden. Und ja, nachdem ich ein gemaltes Bild auf eine Diskette gespeichert habe, habe ich diesen Schieber zurückgezogen, weil ich sehen wollte, ob das Bild da wirklich drauf war.
Und alles immer mit dem Gedanken: Wie funktioniert das ganze eigentlich?
Irgendwann später kam in der Sendung mit der Maus eine Folge, wo ein Binätzähler erklärt wurde. Auch gab es früher diese "Mathesendung", die es schon jahrelang icht mehr gibt. Ich habe mir alles an Wissen rund um Computertechnik reingepfiffen.. könnte nützlich sein.
Mein Umfeld hat immer die PC-Zeitschrift "PC-Games" gelesen. Ich war aber der Sonderling, der "PC-Go" und "Computerbild" viel spannender fand :)
In der Schule fand ich alte Bücher über MS-DOS, die ich sogar mit nach Hause nehmen durfte. Das waren so richtige vergessene und völlig zerfledderte Schinken, die schon lange niemand mehr aus dem Regal geholt hat und wo der Inhalt rausfiel, wenn man sie unvorsichtig aufgeschalgen hat. War mir alles egal.
Mein Wissensdurst war nicht zu stillen. Zum Internet und auch zum früheren BTX hatte ich keinen Zugang.
Meine Ausflüge gingen entsprechend immer tiefer ins Betriebssystem MS-DOS
Ich habe jedes Programm ausprobiert.
Nur drei der vorhandenen Programme waren mir verboten worden:
- FORMAT.COM (verständlich^^, wobei auch FDISK, Partitionsprogramm, hätte verboten sein müssen, aber das kannte ja niemand :D)
- Das PKZIP-Programm (warum auch immer?!)
- QBasic (=Eine primitive Basic-Entwicklungsumgebung, in die sich meine Mutter mal versehentlich reinverirrt hat und da war ihr der Computer abgestürzt)
QBasic zog meine Aufmerksam auf sich: Wozu ist das da? was kann man damit machen?
Habe eine Datei damit geöffnet und plötzlich hatte ich haufenweise Kaudewelsch vor mir. Ich habe einen Knopf gedrückt und ein Snake-Spiel öffnete sich.
Ich habe dieses Spiel heimlich gespielt, weil ich QBasic ja nicht durfte :D
Und irgendwie ahnte ich es schon: Das hat was mit Programmieren zu tun.
Dann war Ende 90er, wo noch immer längst nicht jeder einen eigenen PC hatte. Vielmehr war in den meisten Haushalten maximal ein PC vorhanden, der von der ganzen Familie benutzt wurde.
Dann wurde der PC bei uns endlich mal ausgetauscht und ein modernerer PC mit Win95 kam her. Der 386 landete in meinem Kinderzimmer, weil ich der einzige war, der damit wirklich was anzufangen wusste.
Jetzt war das mein Computer.
Heißt: QBasic-Verbot ist gefallen.
Ich habe mich mit diesem Programm intensiv beschäftigt. Habe mir die ausführlichen Hilfeseiten durchgelesen und fing an, dieses Snakespiel zu verändern.
Das ist also tatsächlich das "Ur-Programm", mit dem alle anderen Programme hergestellt wurden (glaubte ich zumindest...)
In der Schule bin ich auch hierfür an alte Bücher gekommen. Diese waren für C64, aber das war ähnlich genug, dass ich trotzdem mit deren Hilfe gelernt habe, dieses Programm (und damitr auch die Funktionsweise eines Computers) immer mehr zu verstehen und zu benutzen.
Dann fing ich langsam an, komplett eigene Spiele zu programmieren.
In der Schule hatte ich regelmäßig mit einem Lernprogramm namens "Budenberg" zutun. Dieses lief unter DOS und nutzte verschiedenste Modi des Betriebssystems. Ich habe mich von diesem Programm viel inspirieren lassen und mir Teile davon zuhause in QBasic nachprogrammiert.
QBasic konnte kurioserweise zwei Sachen nicht ansprechen: Die Maus und die Soundblaster-Soundkarte.
Das war auch in diesem Budenberg der Fall: Alles über Tastatur und mit dieser integrierten Tröte. Ich vermute sehr stark, dass dieses Programm zumindest in Teilen in QBasic geschrieben war. Es sah anhand dem, was ich am Schul-PC so vom Inneren sehen konnte, ganz danach aus. Herausgefunden hatte ich es allerdings nie. Das Programm ist bis heute nirgendwo im Internet verfügbar und scheint auch den Abandonware-Status noch nicht erreicht zu haben, so dass das bis heute unklar ist^^. Wenn du "Budenberg Lernprogramm" bei Google Bilder eingibst, hat das alles diese typische QBasic-Grafik^^.
Irgendwann später war auf der CD-ROM-Beigabe einer PC-Zeitschrift ein QBasic-Programm, das zu meinem Erstaunen Mausbedienung hatte.
Das hatte ich zerkloppt, um zu gucken, wie es gemacht ist. Das Zauberwort: "int 33h" mit viel Magie drumherum.
Habe die seltsame Mausabfrage-Routine aus dem Programm ausgebaut und in eines von meinen eingebaut.
Diese Magie blieb nicht lange Magie: x86-Assembler war das nächste, wo ich mich reingefummelt hab.
Auf diese Weise habe ich das Problem der klanglosen Spiele auf eigene Faust gelöst: So eine Asm-Routine auch für Soundblaster.
Von nun an hatten meine gebastelten Spiele Maus und Ton.
Der neue PC mit win95 hat mich übrigens eher wenig interessiert. Dort durfte ich dieses "Hackerzeug" nicht benutzen. Aber ich fand das Windows interessant und dass mehrere Programme gleichzeitig möglich sind.
Irgendwann kam die Idee: Das nachbauen! Habe ich mit viel Fluchen in Grundzügen sogar geschafft. Natürlich konnte es keine Windows-Programme ausführen. Aber es hatte sowas ähnliches wie Multitasking mit MS-DOS-Programmen.
Das habe ich immer weiter ausgebaut, bis es Norton Commander komplett ersetzt hat. Auch für die Dateiverwaltung waren Asm-Routinen nötig.
Alles noch immer mit QBasic + reingemurkste Asm-Routinen - Aus Unwissenheit, dass es überhaupt was anderes gibt.
Die Grafik von meinem "OS" war auch immer sehr langsam und höhere Grafikauflösungen gab es nicht, weil QBasic das nicht besser konnte.
Auch die Grafikkarte habe ich dann über Asm-Routinen angesprochen.
Und mehr und mehr habe ich auf die Asm-Ebene verlegt.
Es entstand immer mehr eine API, mit der es möglich war, Programme für mein "OS" zu erstellen, die all diese Asm-Routinen nutzen konnten.
In MS-DOS ist der Arbeitsspeicher segmentiert. Das bedeutet: Zwei 16-Bit Prozessorregister wurden zusammen verwendet, um 32-Bit-Arbeitsspeicheraddressen anzusprechen.
QBasic kann auch das nur sehr begrenzt, was den addressierbaren RAM auf (ich meine) 64kb - also eine Speicherseite - eingeschränkt hat.
Auch das habe ich mit Asm-Routinen zunehmend umschifft, um den ganzen Ram nutzen zu können.
Nun war ich 14 und da war es nun: Ḿein eigenes "OS" mit seinen eigenen Programmen. Mit dem Wissen aus Büchern usw. zusammengekloppt. Mit dem Wissen, was ich hatte, zusammengeschustert und dabei viele Abstürze verursacht. Vieles war am Ende völlig verbaut und blöd programmiert. Alles war ein bisschen gebastelt und hier und da langsam, aber es funktionierte im großen und ganzen irgendwie :)
Das DOS-Multitasking funktionierte mehr schlecht als recht: Es gab einen Interrupt (also Asm-"Unterprogramm"), wo man eigene sog. TSR einbinden konnte. Das waren kleine Routinen, die parallel zu dem laufenden Programm ausgeführt wurden. Da konnte man also Hintergrundprozesse einbauen, was z.B. für die Soundausgabe interessant war, damit diese nicht von der Hauptschleife des laufenden Programms aus bedient werden musste. Ich hatte in diesen TSR-Abteil eine Routine reingebastelt, wodurch man durch eine Tastenkombination in einen selbstgebastelten "Taskmanager" reinwechseln konnte. Da konnte man dann das Programm wechseln. Wirkliches Multitasking war das nicht. Zum Wechsel wurden die Abbilder von den Prozessorregistern und dem RAM in Dateien geschrieben und wieder gelesen. Das hat mit manchen Programmen aber nicht funktioniert, weil der Grafikmodus nicht richtig wiederhergestellt wurde, wenn man diesen "Taskmanager" wieder verlassen hat, so dass der Computer letztlich angestürzt ist. Auch mit den Dateien gab es Probleme, wenn zwei Programme unabhängig voneinander zugegriffen haben - DOS war Singletasking und hatte deshalb keine Routinen drin, die parallelel Zugriff so verwaltet, dass die Dateien nicht korrupieren. Auch das Problem habe ich nie richtig lösen können.
DOS-Programme in einem Fenster laufen lassen war mir nicht gelungen. Hatte damals keine Idee, wie man das machen könnte, ohne dass die sich im Arbeitsspeicher in die Quere kommen.
Es war natürlich auch kein richtiges OS, sondern nur eine Shell für das MS-DOS untendrunter. Was anderes war Win95 allerdings auch nicht. Ich wusste das aber nicht besser und habe beides als "OS" bezeichnet :)
Irgendwann später hatte ich dann Zugang zum Internet und rausgefunden, dass es andere Programmiersprachen gibt. Da war C natürlich interessant. Als ich mich damit beschäftigt habe, war mir klar, wie bescheuert mein "OS" doch implementiert war und dass QBasic eben nicht die Mutter aller Programme war und von professionellen Programmierern auch nicht genutzt wurde :D.
Hätte ich damals besseren Zugang zu dem Wissen gehabt und wenn meine Eltern mir das "Hackzeug" nicht am Anfang verboten hätten, hätte ich sicher vieles besser machen können.
Mein Opa, der in der gleichen Firma wie mein Vater arbeitete und entsprechend auch so einen 386er bekommen hatte und noch lange benutzt hat, hat mein OS sogar eine Zeit lang für bestimmte Dinge benutzt, weil er damit gut zurecht kam. Er fand das faszinierend, dass ich das gebastelt hab.
Nachtrag - Im Internet gibt es heute noch einen Überrest von der ganzen Aktion :D
Ich hatte nicht erwähnt, dass auch mein OS auch eine eigene Programmiersprache hatte, damit die Antwort nicht zu lang wird.
Es hat noch mindestens ein Sourcecode für diesen Compiler bis heute überlebt!!! Und der Source ist noch nichtmal von mir... Ich frage mich grad: Wie ist der Compiler, der nur in meinem OS ausführbar war, überhaupt jemals in den Umlauf gekommen?
So sah die Programmiersprache aus:
>>> https://www.99-bottles-of-beer.net/language-comwic-142.html
Die Programmiersprache war fester Teil des OS und keine separate Komponente. Du bräuchtest also mein OS, um dieses kleine Programm zu kompilieren und laufen zu lassen.
War natürlich auch ziemlich bescheuert designt. aber immerhin. Es funktionierte.
Er hatte Schizophrenie und wollte damit Kontakt zu Jesus aufbauen, deswegen auch HolyC