{"id":7858,"date":"2024-06-20T19:24:13","date_gmt":"2024-06-20T19:24:13","guid":{"rendered":"https:\/\/www.gamelab.ch\/?p=7858"},"modified":"2024-06-20T19:40:17","modified_gmt":"2024-06-20T19:40:17","slug":"computerbedienung-vom-sprachparadigma-shellprogrammiersprachen-zum-visuellen-paradigma-des-iconic-turns-guimouse-und-zurueck-mit-llms-based-ais-chatgptco-essay","status":"publish","type":"post","link":"https:\/\/www.gamelab.ch\/?p=7858","title":{"rendered":"Computerbedienung: Vom Sprachparadigma (Shell&#038;Programmiersprachen) zum visuellen Paradigma des Iconic Turns (GUI&#038;Mouse) und zur\u00fcck mit LLMs based AIs (ChatGPT&#038;Co) [Essay]"},"content":{"rendered":"\n<p>[Dieser Text ist nicht umfassend, sondern soll lediglich ein erster Approach sein zum Thema der Relation Sprache und Computerbedienung\/Programmierung. Selbstverst\u00e4ndlich hat es daneben noch viele andere Entwicklungen gegeben. Aber das ist Stoff f\u00fcr einen anderen BlogEintrag. ]<\/p>\n\n\n\n<p>Schaut man sich die ersten gr\u00f6sseren Computersysteme im Mainframebereich wie etwa <a href=\"https:\/\/www.gamelab.ch\/?p=7400\">Plato Systems  (ein Multiuser Elearning <\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/www.gamelab.ch\/?p=7400\" target=\"_blank\">System<\/a><a href=\"https:\/\/www.gamelab.ch\/?p=7400\">)<\/a> von <a href=\"https:\/\/en.wikipedia.org\/wiki\/PLATO_(computer_system)\">Ende <\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/PLATO_(computer_system)\" target=\"_blank\">der<\/a><a href=\"https:\/\/en.wikipedia.org\/wiki\/PLATO_(computer_system)\"> 60er Jahre <\/a>an, so wird einem sehr schnell klar: hier steht ein sprachliches Paradigma im Hinter- bzw. im Vordergrund. Input (Keyboard) wie auch Output (Vorallem Text). Wobei allerdings gesagt werden muss, dass PLATO Systems Texte auch mit Grafik mischen konnte (also nicht nur ein Textterminal besass).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"744\" height=\"1024\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Living_Computer_Museum_Seattle_Visit_2018_43693562294-744x1024.jpg\" alt=\"\" class=\"wp-image-9665\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Living_Computer_Museum_Seattle_Visit_2018_43693562294-744x1024.jpg 744w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Living_Computer_Museum_Seattle_Visit_2018_43693562294-218x300.jpg 218w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Living_Computer_Museum_Seattle_Visit_2018_43693562294-768x1058.jpg 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Living_Computer_Museum_Seattle_Visit_2018_43693562294.jpg 1024w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/figure>\n\n\n\n<p>Die Idee ist, dass der Mensch seine nat\u00fcrliche Sprache nutz als Schnittstelle zur Bedienung (und zur Programmierung) des Computers alias Universalmaschine alias simulierter Mathematiker mit Stift. Der Output ist dabei auch mehrheitlich Schrift. Dies scheint das Ende der langen Standardisierung von Sprache  zu sein. Man programmiert keine Menschen mehr \u00fcber Schulen und B\u00fccher (GutenbergGalaxis), sondern nun eben die Turing Maschine und die dann den Menschen. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>\u201cTo ensure that all algorithms are translated in a uniform language, Turing defines a machine that consists of only a few essential language elements. The machine reads characters from an input device and writes characters to one output medium \u2013 and only a finite number, since the algorithm is finite.\u201d <\/p>\n\n\n\n<p><em>Betz, Andr\u00e9: Das eindimensionale Universum: Eine Einf\u00fchrung in ein informationstheoretisches Weltbild. Berlin 2003. S 10<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Was liegt also n\u00e4her, wenn das Gegen\u00fcber ein Rechenknecht (andere w\u00fcrden sagen: ein Sklave) ist. Das l\u00e4sst sich nat\u00fcrlich technisch nicht 1:1 l\u00f6sen (bis heute zu viel Ambiguit\u00e4ten), deswegen ist das real genutzte Paradigma dann auch der Imperativ oder einfacher der &#8218;Befehl&#8216;. Hier werden wenigstens einige Ambiguit\u00e4ten der Sprache (ihr Vor- und immer auch Nachteil) &#8218;disambiguiert&#8216;.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><em>\u201eAlan Turing entwickelte \u00fcber die Entscheidungsprobleme einen genauen Begriff des Algorithmus. Ein Algorithmus ist im Prinzip nichts anderes als ein Kochrezept, das dem Koch in endlichen, eindeutigen, in jeder K\u00fcche ausf\u00fchrbaren und allgemein verst\u00e4ndlichen Schritten erkl\u00e4rt, wie etwas gekocht wird. Auf einem Computer entspr\u00e4che dies einem Programm.\u201c<\/em><\/p>\n\n\n\n<p><em>Betz, Andr\u00e9: Das eindimensionale Universum: Eine Einf\u00fchrung in ein informationstheoretisches Weltbild. Berlin 2003.<\/em> <em>S 10<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Bei Plato Systems (Programmed Logic for Automatic Teaching Operations, 1968+) wartet auch folgerichtig ein &#8222;&gt;&#8220; auf die Eingabe eines Befehls in diesem Fall eine Lektion (Plato ist ein Elearning System). Der Computer steht also Gewehr bei Fuss um Befehle anzunehmen, um beim Martialischen zu bleiben (Plato wird anfangs vom US-Milit\u00e4r finanziert). <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sprache als Paradigma<\/h2>\n\n\n\n<p>Das sprachliche Paradigma findet sich anschliessend weiter bis hin in die Programmiersprache Tutor des Systems. Hier gibt man mehrheitlich Befehle ein, die man aneinander reihen kann durch Umbr\u00fcche getrennt (keine Zeilenorientierung aber fixed Format). Jede Zeile ein Befehl (Python-Programmierer* haben ein DejaVu).  Die Programmiersprache Tutor ist dabei klar an nat\u00fcrliche Sprache angelehnt. Tutor-Code liest sich wie eine Art Text mit Leerstellen (<a rel=\"noreferrer noopener\" href=\"https:\/\/de.wikipedia.org\/wiki\/Leerstelle_(Literatur)\" target=\"_blank\">Isers Leerstellentheorie 1972 k\u00f6nnte fast als Template gedient haben oder umgekehrt<\/a>). Die Eingaben k\u00f6nnen gefiltert werden, Alternative L\u00f6sungsw\u00f6rter (Box oder Cube etwa) oder falsche L\u00f6sungsw\u00f6rter k\u00f6nnen angegeben werden (<a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/TUTOR\" target=\"_blank\">Answer judging<\/a>)  in einem Input und F\u00fcllw\u00f6rter werden automatisch ausgefiltert. Folgendes Beispiel zeigt die M\u00e4chtigkeit dieses Ansatzes<\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">answer  &lt;it, is,a, it's, figure,\n        polygon&gt;\n        (right, rt) (triangle, triangular)<\/pre>\n\n\n\n<p>Das ganze System f\u00fchlt sich sehr sprachlich an, weit sprachlicher als vieles was danach kam.  Es erm\u00f6glicht auf einfachster Ebene Sprache und Eingabe zu parsen.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Plato war &#8211; weil es einen so einfachen Zugang zu Programmierung bot &#8211; ein uns\u00e4glich erfolgreiches System, was den Content betrifft. Jeder* mit den entsprechenden Rechten konnte selbst einfach Content erstellen (* musste nur jemanden mit freiem Speicher finden). <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-gamelab-ch wp-block-embed-gamelab-ch\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"XHKrRLx26R\"><a href=\"https:\/\/www.gamelab.ch\/?p=7400\">PLATO Systems &#8211; ein ELearning-System und darin ein GameDesign-Biotop (1960+\/1972+) (Updated)<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;PLATO Systems &#8211; ein ELearning-System und darin ein GameDesign-Biotop (1960+\/1972+) (Updated)&#8220; &#8212; GAMELAB.CH\" src=\"https:\/\/www.gamelab.ch\/?p=7400&#038;embed=true#?secret=ltpAW273C7#?secret=XHKrRLx26R\" data-secret=\"XHKrRLx26R\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">PLATO systems und games<\/h2>\n\n\n\n<p>Bei den Games \u00fcberwiegen in Sachen Interface aber dann doch die einfacheren Keyboardtasten als Buttons (<a rel=\"noreferrer noopener\" href=\"https:\/\/research.swissdigitization.ch\/?p=1523\" target=\"_blank\">auch wenn es klassische Games gibt wie etwa in 101 Basic Games<\/a> &#8211; also eher CLI Games mit Input und Output). PLATO konnte anders als die ersten Mainframes auch Grafik darstellen per default (\u00fcber die Terminals).  Grafisch waren also die Spiele f\u00fcr ihre Zeit sehr komplex, da hier &#8222;Vectorgrafiken&#8220; zur Verf\u00fcgung standen. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Unix und Shell (CommandLineInterpreter CLI): Programme als Verben einer Valenzgrammatik<\/h2>\n\n\n\n<p>Plato Systems war letztlich eine closed community (Universit\u00e4t) und spielte &#8222;ausser&#8220; als Ideengeber ( BulletBoardSystem, Notes, komplexe Rollenspiele, FPS, Multiplayergames und f\u00fcr Xerox Parc) keine gr\u00f6ssere Rolle mehr in der Geschichte der Computerentwicklung und ist bis heute leider weitgehend unbeachtet geblieben &#8211; Ausnahme die x-tausenden Studierenden, die daran und damit ausgebildet wurden.  <\/p>\n\n\n\n<p>Seine Mainframenachfolger oder eher Parallelentwicklungen waren da wie UNIX (Die AT&amp;Ts Strafe wirkte dabei nach in kostenlosen Lizenzen) erfolgreicher. Aufgebaut auf der Sprache C konnte das Betriebssystem fast \u00fcberall eingesetzt werden (verschiedenste Hardware). Hier findet man ja bekanntermassen (nichts an diesem Artikel ist wirklich neu) dann die Shell, die ein Imperativ-System par exellence ist und sich an der <a rel=\"noreferrer noopener\" href=\"https:\/\/de.wikipedia.org\/wiki\/Valenz_(Linguistik)\" target=\"_blank\">Valenzgrammatik<\/a> orientiert &#8211; also ein Verb mit seinen Valenzen oder anders gesagt Argumenten. Jeder Befehl ist hier letztlich magisch und wenn man die Befehle nicht kennt und zwar genau den Wortlaut ist man machtlos. Die Returntaste \u00fcbergibt dann den Befehl ans System.<\/p>\n\n\n\n<p>Beispiele der Valenzen von NIMM und GIB (die auch komplexer sein k\u00f6nnen). Das Subjekt ist hier nicht realisiert, da es Befehlsform ist und meist &#8222;Du&#8220; meint. Im Fall von Computern ist klar: &#8222;Der Rechenknecht soll tun&#8220;. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.55-1024x282.png\" alt=\"\" class=\"wp-image-9758\" width=\"488\" height=\"134\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.55-1024x282.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.55-300x83.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.55-768x211.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.55.png 1134w\" sizes=\"(max-width: 488px) 100vw, 488px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.52-1024x339.png\" alt=\"\" class=\"wp-image-9759\" width=\"520\" height=\"171\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.52-1024x339.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.52-300x99.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.52-768x254.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.52.png 1384w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p>Beziehungsweise korrekter w\u00e4re: Es wird ein Befehl geschickt oder ausgesprochen und dann kommt entweder die Antwort &#8222;Etwas nicht ok&#8220; oder dann der ausgef\u00fchrte Befehl, der das Erwartete macht oder etwas ganz anderes. Hier spiegelt sich die reale Situation von Befehlen wieder. Senden und Sehen, was passiert. <\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>$ banner hi<\/p>\n<\/blockquote>\n\n\n\n<p>Die Antwort des Gegen\u00fcbers ist gross. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"752\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2022\/09\/Bildschirmfoto-2022-09-03-um-11.20.25-1024x752.png\" alt=\"\" class=\"wp-image-7866\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2022\/09\/Bildschirmfoto-2022-09-03-um-11.20.25-1024x752.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2022\/09\/Bildschirmfoto-2022-09-03-um-11.20.25-300x220.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2022\/09\/Bildschirmfoto-2022-09-03-um-11.20.25-768x564.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2022\/09\/Bildschirmfoto-2022-09-03-um-11.20.25-1536x1128.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2022\/09\/Bildschirmfoto-2022-09-03-um-11.20.25.png 1762w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Nicht so erfolgreich sieht die sprachliche Handlung dann so aus:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><em>$ helpme<\/em><br><em>-bash: helpme: command not found<\/em><\/p>\n<\/blockquote>\n\n\n\n<p>Die Shell ist in diesem Sinn eine manuelle Programmierung. Der Programmierer = User gibt Befehl um Befehl ein. <\/p>\n\n\n\n<p>Erst die shell-script-languages machen daraus letztlich eine echtere Programmiersprache. Der Vorteil dabei ist aber auch klar: Jedes Programm ist ein Verb mit verschiedenen Parameterm\u00f6glichkeiten ((, jedes neue Programm ein neues Verb. Jeder (mit Berechtigung) kann ein neues Verb schreiben und das ganze System erweitern.  Verben k\u00f6nnen dann nat\u00fcrlich wiederum eigene Shell-Scripts oder eigene compillierte C-Programme sein.<\/p>\n\n\n\n<p>Damit l\u00e4sst sich ein Computer per Shell managen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-16.50.58-1024x846.png\" alt=\"\" class=\"wp-image-9695\" width=\"591\" height=\"488\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-16.50.58-1024x846.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-16.50.58-300x248.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-16.50.58-768x634.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-16.50.58-1536x1269.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-16.50.58.png 1862w\" sizes=\"(max-width: 591px) 100vw, 591px\" \/><\/figure>\n\n\n\n<p>Die Scriptsprache dazu:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-18.02.59-1024x566.png\" alt=\"\" class=\"wp-image-9704\" width=\"614\" height=\"339\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-18.02.59-1024x566.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-18.02.59-300x166.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-18.02.59-768x425.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-18-um-18.02.59.png 1436w\" sizes=\"(max-width: 614px) 100vw, 614px\" \/><\/figure>\n\n\n\n<p>Immer noch einpr\u00e4gend sind hier die <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Fork_bomb\" target=\"_blank\">Forkbombs<\/a>, die einen Einzeiler benutzen (dabei verschachelte Programmierung), um Computer zum Absturz zu bringen. Je kleiner und cleverer der Code umso besser. Das ist ein Metagame (Wettbewerb). Die M\u00e4chtigkeit eines Algorithmus.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p>:(){&nbsp;:|:&amp; };:<\/p>\n<cite><a href=\"https:\/\/en.wikipedia.org\/wiki\/Fork_bomb\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/en.wikipedia.org\/wiki\/Fork_bomb<\/a><\/cite><\/blockquote>\n\n\n\n<p>Was aber hier schon auff\u00e4llt ist, wie durchl\u00e4ssig hier Bedienung des OS und Programmierung des Computers ist. Selbstverst\u00e4ndlich steht auch dahinter, dass Menschen eines Tages Worte sagen k\u00f6nnten, die der Computer erkennt und ausf\u00fchrt. <\/p>\n\n\n\n<p>Diese Idee kommt nicht zuf\u00e4llig in vielen (Computer-)Visionen vor &#8211; so auch bei <a href=\"https:\/\/www.youtube.com\/watch?v=vG5Q8ei3PBg\">Halt&amp;Catch Fire <\/a>einer Docufiction \u00fcber die technische Entwicklung der Computerindustrie. Hier geht es in einer Staffel darum, dass sie einen Rechner entwickeln, der nur Sprach-gesteuert ist. Die alten Ideen der <a href=\"https:\/\/www.gamelab.ch\/?p=7308\" target=\"_blank\" rel=\"noreferrer noopener\">Automaten<\/a> sind dabei immer noch aktiv.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">BASIC 1964+<\/h2>\n\n\n\n<p>BASIC entsteht zur Programmierung ebenfalls als eine Sprache, die einfach lernbar sein soll. Sie lehnt sich nahe an die analoge Realit\u00e4t (nat\u00fcrlichsprachlich) an und hat einfache Worte als Befehle wie PRINT, INPUT (Nur ein Befehl pro Zeile, jeder Buchstabe des Alphabets kriegt einen Befehl. Geradezu ein didaktisches System). Hier gilt ebenfalls das Prinzip: Befehl und dann Argument und nur ein Befehl pro Zeile. Allein die Zeilennummerierung scheint seltsam aber n\u00f6tig f\u00fcr Spr\u00fcnge (Loops) und Bedingungen. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"640\" height=\"478\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/13566565204_5578a14ba2_z.jpg\" alt=\"\" class=\"wp-image-9738\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/13566565204_5578a14ba2_z.jpg 640w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/13566565204_5578a14ba2_z-300x224.jpg 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p><em>\/\/ <a rel=\"noreferrer noopener\" href=\"https:\/\/www.dartmouth.edu\/basicfifty\/basic.html\" target=\"_blank\">https:\/\/www.dartmouth.edu\/basicfifty\/basic.html<\/a><br><\/em><br>Basic ist in diesen Mainframes ein Programm unter vielen &#8211; ein Verb. Meist zuerst gedacht f\u00fcr Input- Output-Programme zum Lernen f\u00fcr die &#8222;Masse&#8220;. Und dann nat\u00fcrlich mit Inputs abgeschlossen mit Return. Es gibt keine Abfragen etwa f\u00fcr KeyDowns etc, was unerl\u00e4sslich ist f\u00fcr Post-101-Basic-Games.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Games mit Sprachinterface: Textadventures &amp; MultiUserDungeons (MUDS)<\/h2>\n\n\n\n<p>Die ersten Textadventure machten sich nat\u00fcrlich ebenfalls auf diesen extrem teuren Maschinen breit und dazu brauchte es als Verbindungssoftware ein Terminal (oder Telnet). Und dann konnte es losgehen. Die Textadventures und folgerichtig die <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Multi-user_dungeon\" target=\"_blank\">MultiUserDungeon<\/a> (MUD) benutzen ebenfalls Sprache als Eingabe. &#8222;Go West&#8220; und als Display bekam man dann ebenso Text. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"768\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Colossal_Cave_Adventure_on_VT100_terminal-1024x768.jpg\" alt=\"\" class=\"wp-image-9670\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Colossal_Cave_Adventure_on_VT100_terminal-1024x768.jpg 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Colossal_Cave_Adventure_on_VT100_terminal-300x225.jpg 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Colossal_Cave_Adventure_on_VT100_terminal-768x576.jpg 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Colossal_Cave_Adventure_on_VT100_terminal-1536x1152.jpg 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Colossal_Cave_Adventure_on_VT100_terminal.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Personal Computer wie der Apple II und sp\u00e4ter IBM PC 1<\/h2>\n\n\n\n<p>Mit der weiteren Miniaturisierung und der Neuerfindung der Computeridee als Personal Computer mit dem Apple II oder sp\u00e4ter dem IBM PC entsteht ein erste Software Annh\u00e4herung an die Mainframes. Die einen mit integriertem BASIC (Apple II) oder sp\u00e4ter ohne bei IBM.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Apple IIe: 40 Years Later - Savvy Sage\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/KCbGsZHdjds?start=489&#038;feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8Bit-Homecomputer &#8211; Shell- und Script in einem<\/h2>\n\n\n\n<p>Den Gegenpool zu klassischen Shells bildeten nun die aufkommenden und g\u00fcnstigen Computer, sie waren billig und am Markt erh\u00e4ltlich wie der ZX81, TI99 oder etwa der C64. Der C64 wurde geradezu zu einem Massenph\u00e4nomen und Demokratisierungsmaschine (eigentlich Privatisierungsmaschine).  <\/p>\n\n\n\n<p>Selbstverst\u00e4ndlich tr\u00e4umt man auch in diesen Welten von &#8222;verstehenden&#8220; und sprechenden Computern. Ein menschliches Gegen\u00fcber, am Besten als Rechenknecht.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/350px-Einschaltmeldung_C64.jpg\" alt=\"\" class=\"wp-image-9698\" width=\"627\" height=\"443\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/350px-Einschaltmeldung_C64.jpg 350w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/350px-Einschaltmeldung_C64-300x212.jpg 300w\" sizes=\"(max-width: 627px) 100vw, 627px\" \/><\/figure>\n\n\n\n<p>Mit dem C64 wird das Programmiersystem und das Betriebssystem &#8222;gekoppelt&#8220; (wie die meisten 8Bit-Homecomputern) oder verschmolzen: Der User* befindet sich in der Shell der &#8218;Entwicklungsumgebung BASIC&#8216;. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Beim C64 tippt man BASIC Befehle, um etwas von der Diskette und Gott beh\u00fcte vom Tape zu laden und dann RUN. Jedes Benutzen ist damit hier schon letztlich programmieren (Auch wenn das wenige wissen, warum man dann &#8218;LOAD \u201cXZY\u201d,8&#8216; tippt: 8 ist das 8te Device, die Diskette). <\/p>\n\n\n\n<p>Hier verschmilzt alles miteinander und wer mehr m\u00f6chte, der kann gleich loslegen und tippt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>10 PRINT \"HELLO\"\nRUN <\/code><\/pre>\n\n\n\n<p>Mit einem anschliessendem Return und RUN geht es los. Auch ist dies im ROM eingelagert und wird nicht etwa nachtr\u00e4glich geladen. Der Vorteil: Es startet schnell auf, der Nachteil: Du lebst mit deinem ROM und dessen Fehlern.<\/p>\n\n\n\n<p>Durch diese Koppelung ist klar: Jeder* kann programmieren und das geh\u00f6rt zum Computer mit dazu. Er kann es in seiner &#8222;eigenen&#8220; Sprache machen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Little Computer People 1985<\/h3>\n\n\n\n<p>Das &#8222;ResearchSpiel&#8220; Little Computerpeople etwa erfand dann den &#8222;Mann&#8220; (Knecht) im Computer tats\u00e4chlich und man konnte mit ihm kommunzieren. Der Mann im Computer hatte aber auch einen eigenen Willen: Nur mit einer Bitte (Please &#8230; ) brachte man ihn dazu Dinge zu tun. Er wollte einfach kein Sklavenprogramm sein. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"C64 Longplay - Little Computer People\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/SkTgX1mGmDg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Die sprechenden Computer dagegen waren billiger zu haben, wenn auch noch 8Bittiger. Hier etwa in Space Invaders auf dem C64.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"C64 Longplay - Space Taxi\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/cEcxgPvmQqU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Mehr zu Extensions f\u00fcr den C64 &#8211; ein weiteres breites Feld findet sich hier. Etwa das MagicVoice Speech Module:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/800px-Magic_Voice_Back_Cover_by_W1_1080-753x1024.jpg\" alt=\"\" class=\"wp-image-9749\" width=\"492\" height=\"669\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/800px-Magic_Voice_Back_Cover_by_W1_1080-753x1024.jpg 753w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/800px-Magic_Voice_Back_Cover_by_W1_1080-221x300.jpg 221w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/800px-Magic_Voice_Back_Cover_by_W1_1080-768x1044.jpg 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/800px-Magic_Voice_Back_Cover_by_W1_1080.jpg 800w\" sizes=\"(max-width: 492px) 100vw, 492px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"64 Commodore 64 Cartridges: Expansions, Interfaces, Utilities, Games\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/Jk8e-CXDRBU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Es gab sogar Konsolen mit Zusatzmodulen f\u00fcr Sprache, wie etwa etwa die Intellivision mit ihrem <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Intellivoice\" target=\"_blank\">Intellivoice<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sprachinterface: Valenzgrammatik in ManicMansion und Co.<\/h2>\n\n\n\n<p>Die Idee von der <a rel=\"noreferrer noopener\" href=\"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/9783110228519.60\/pdf\" target=\"_blank\">Valenzgrammatik (Lucien Tesni\u00e8re)<\/a>  ist nat\u00fcrlich auch in den Games wiederfindbar. Die Idee der Valenzgrammatik wird  hier kombiniert bei den LucasArts Games. Deren Engine <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/SCUMM\" target=\"_blank\">SCUMM<\/a> erm\u00f6glicht dann das &#8222;Zusammenclicken&#8220; (Per Tasten-Cursor oder Maus) von Befehlen und den Argumenten, einer der H\u00f6hepunkte der Point&amp;Click Adventures.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/blut8.jpg\" alt=\"\" class=\"wp-image-9668\" width=\"576\" height=\"417\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/blut8.jpg 370w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/blut8-300x217.jpg 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/figure>\n\n\n\n<p>Die Diskussion um die Point and Click Adventures und der Valenzgrammatik findet sich noch heute gerade zum neusten Monkey Island (2022): <\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><strong>Ron Gilbert<\/strong>: Wir haben uns \u00fcberlegt, ob wir die Verben zur\u00fcckbringen sollten [&#8230;] <strong>Ron Gilbert<\/strong>: Was uns bei diesem M\u00fcnzenmen\u00fc am meisten gest\u00f6rt hat, war das Verb &#8222;benutzen&#8220;. Man kombiniert das mit einem Objekt und hat keine Ahnung, was eigentlich passieren soll. Es ist ein reiner Schuss ins Blaue. Was passiert denn, wenn ich einen Schokoriegel &#8222;benutze&#8220;? Esse ich ihn, packe ich ihn aus, vermansche ich ihn? Wir haben f\u00fcr &#8222;Return to Monkey Island&#8220; in einem ersten Schritt versucht, der Aktion \u00fcber den Mauszeiger-Text Kontext zu geben, also die Dinge beim Namen zu nennen \u2013 anstatt &#8222;benutzen&#8220; etwa &#8222;essen&#8220;.<\/p>\n<cite><em><a href=\"https:\/\/www.heise.de\/hintergrund\/Interview-zu-Monkey-Island-Die-Kontroverse-war-unvermeidbar-7248052.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.heise.de\/hintergrund\/Interview-zu-Monkey-Island-Die-Kontroverse-war-unvermeidbar-7248052.html<\/a><\/em><\/cite><\/blockquote>\n\n\n\n<p>Und die alte Frage, was bedeutet der Befehl. <\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Iconic Turn &#8211; Graphische Oberfl\u00e4chen<\/h1>\n\n\n\n<p>Aber, und das muss man bis heute sagen, diese Art der Computerbedienung ist zwar sprachbasiert, aber so normiert, dass man einiges an Knowhow braucht, um Computer zu bedienen. Erst Entwicklungen wie etwa der TouchScreen (9 Felder) von PLATO Systems vereinfachten die Systeme weiter und machten sie einem breiteren Publikum zug\u00e4nglich.  <\/p>\n\n\n\n<p>Auf Mainframes von <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/PARC_(company)\" target=\"_blank\">XEROX PARC <\/a>entstand dann auch die erste Idee wie man mittels Maus und Maus-Cursor weitergehen konnte mit grafischen Oberfl\u00e4chen. Das Radikale dahinter: Es ging hier nicht mehr um Sprache, sondern um eine 2D Fingerbedienung und letztlich 2D Grafiken. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/xalto-1.jpg.pagespeed.ic_.gbz1LhYPGN-1-838x1024.jpg\" alt=\"\" class=\"wp-image-9676\" width=\"457\" height=\"558\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/xalto-1.jpg.pagespeed.ic_.gbz1LhYPGN-1-838x1024.jpg 838w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/xalto-1.jpg.pagespeed.ic_.gbz1LhYPGN-1-245x300.jpg 245w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/xalto-1.jpg.pagespeed.ic_.gbz1LhYPGN-1-768x939.jpg 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/xalto-1.jpg.pagespeed.ic_.gbz1LhYPGN-1-1256x1536.jpg 1256w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/xalto-1.jpg.pagespeed.ic_.gbz1LhYPGN-1.jpg 1280w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/crm.org\/articles\/xerox-parc-and-the-origins-of-gui\"><em>https:\/\/crm.org\/articles\/xerox-parc-and-the-origins-of-gui<\/em><\/a><br><em>\/\/ Experimente bei Xerox<\/em><\/p>\n\n\n\n<p>Diese radikale \u00c4nderung liquidierte die umfassende Idee von Sprache (Gutenberg Galaxis) und setzte Bilder hin. Oder theoretischer: Statt der Buchdruck-Bibel kam die Bibel f\u00fcr die Armen wieder: Ein Zeiger bewegte sich mit der Maus. Hand-Augenkoordination, das war einfacher zu lernen, als komplexe Befehle. Der Mensch verstetigte sich vom Text-Cursor zum Mauszeiger und die Tastatur war nun untergeordnet. Nur noch Teil vom gesamten System.<\/p>\n\n\n\n<p>Der Durchbruch im Mainstream kam, als Steve Jobs bei einer bezahlten F\u00fchrung diese Entwicklung sah und als Apple ab 1979 an LISA (eine Art Dokumentensystem wie Xerox Parc es entwickelte) und nach dessen Flop, das ganze Richtung Heimcomputer drehte: Der Macintosh.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Unknown.jpeg\" alt=\"\" class=\"wp-image-9700\" width=\"509\" height=\"381\"\/><\/figure>\n\n\n\n<p><em>\/\/ Das etwas andere Hello-World<\/em><\/p>\n\n\n\n<p>Als Apple den Macintosh 1984 mit seiner Desktop Metapher (inklusive herumschiebbarer Dokumente &#8211; Fenster) und Maus auf den Markt brachte (nach einer fast 5 j\u00e4hrigen Entwicklung), reagierte die Branche schwierig (ToDo: Computerheftbesprechungen heraussuchen). Die Sache war klar: Hier die Profis (Shell, Mainframes, IBM PC etc) und dort das Spielzeug. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Macintosh XL \/ Apple Lisa 2 (1984) Start Up and Demonstration\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/WPkDn_P6K9g?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Und so ging es auch fast ein Jahrzehnt bis Microsoft die Innovation ernst nahm und Windows 95 pr\u00e4sentierte (<a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Windows_3.1\" target=\"_blank\">Windows 1.0-3.1<\/a> waren eher ein Versuch den Anschluss nicht ganz zu verlieren). <\/p>\n\n\n\n<p>Mit dem Macintosh wurde aus dem linearen Bedienen eines Computers eine fl\u00e4chige Interaktionsebene. Diese 2 Dimensionen und der Mouse-Click erm\u00f6glichten die Vereinfachung von Softwarebedienung und die Erschliessung ganz neuer Felder von der Benutzung von Word bis hin grafischen Programmen. Die Vorteile waren nicht von der &#8222;Maus&#8220; zu weisen. Jeder konnte nun einen Computer bedienen. Und die Desktop-Metapher war eher die Welt der User als die der Shells. Die Welt bestand neu aus Icons und nicht mehr aus nicht sichtbaren Worten.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"547\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/18LosKP9RcXOEYCw3xCUk1Q-1024x547.png\" alt=\"\" class=\"wp-image-9721\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/18LosKP9RcXOEYCw3xCUk1Q-1024x547.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/18LosKP9RcXOEYCw3xCUk1Q-300x160.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/18LosKP9RcXOEYCw3xCUk1Q-768x410.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/18LosKP9RcXOEYCw3xCUk1Q-1536x820.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/18LosKP9RcXOEYCw3xCUk1Q.png 1600w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Die Befehle in einem GraphicalUserInterface mit Maus sind eigentlich die Menueintr\u00e4ge geworden (neben interaktiven Handlungen mit der Maus). Die Ausf\u00fchrung ist das Klicken. Dadurch sind die Befehle geordnet aufrufbar. Die ausgef\u00fchrten Befehle sind auch nicht mehr sichtbar wie bei den klassischen CLIs. Sie sind eigentlich nur noch im Log nachvollziehbar. Der Rechenknecht ist da, wo er hingeh\u00f6rt &#8211; nicht sichtbar.<\/p>\n\n\n\n<p>Das GUI kontrolliert auch, was wie m\u00f6glich ist. Nicht alles ist m\u00f6glich und das wird teilweise angezeigt, bevor der Befehl vollzogen werden kann. Dadurch entsteht eine v\u00f6llig neue Art der Kontrolle der Zeichen. Es handelt sich vermutlich auch um so etwas wie kybernetische Zeichen. Denn letztlich kontrolliert ein Programm sowohl Input wie Output und kann sich sehr wohl gegen &#8222;falsche&#8220; Interaktionen wehren &#8211; und &#8222;gutes&#8220; Verhalten belohnen und &#8222;schlechtes&#8220; bestrafen wie das etwa in Games &#8222;Gang und G\u00e4be&#8220; ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Homecomputer &#8211; der interactive Iconic Turn f\u00fcr die Masse<\/h2>\n\n\n\n<p>Der Macintosh war nicht billig und die Homecomputerproduzenten erkannten schnell die M\u00f6glichkeiten und die Attraktivit\u00e4t dieses neuen Paradigmas. Und neu war es im Massenmarkt. Sie brachten  den Spectrum QL, Atari ST, Amiga und Archimedes auf den Markt. Dies war die n\u00e4chste Generation von Computer und Interaktion damit. 16\/32Bit schnell wie der Macintosh aber ungemein billiger. <\/p>\n\n\n\n<p><br>Der Amiga benutze die Shell weiterhin im Hintergrund als System und der Atari ST beseitigte die Shell wie der Macintosh vollst\u00e4ndig.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Amiga Instruction Course - Workbench And CLI\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/gpHxqueDn8w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Bedienung des Computers und Programmieren entzweit<\/h2>\n\n\n\n<p>Die Entwicklungen im GUI&amp;Mouse-Bereich hatten nun endg\u00fcltig das Band durchgeschnitten zwischen Computernutzung (mehr) und Programmierung (weniger). Dazu kam, dass zunehmend Software auch f\u00fcr speziellere Anwendungen erh\u00e4ltlich war. Also weniger aus Eigenbedarf produziert werden musste.<br>Programmiersprachen kamen zwar noch mitgeliefert mit &#8211; meist Basic. Aber diese standen nicht mehr im Vordergrund. Endkunden waren nun per se &#8222;Konsumenten&#8220; von Software.<br><br>F\u00fcr Spiele etwa, musste weiterhin auf Assembler zur\u00fcckgegriffen werden. Aber es war nun m\u00f6glich (Speed, RAM) in modernem Basic (etwa <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/GFA_BASIC\" target=\"_blank\">GFA-Basic <\/a>&#8211; keine Zeilennummern) auf allen Systemen zu arbeiten. Und so setzt ich auch zunehmend Pascal oder C fest in den ehemaligen Stammlanden von BASIC. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Kryptischere Programmiersprachen im Mainstream<\/h2>\n\n\n\n<p>Allein schon das Hello World in C (1972+) sieht nun nicht mehr so &#8222;nat\u00fcrlich sprachlich&#8220; aus. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Hello_world_c.svg_-1024x256.png\" alt=\"\" class=\"wp-image-9724\" width=\"288\" height=\"71\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Hello_world_c.svg_-1024x256.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Hello_world_c.svg_-300x75.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Hello_world_c.svg_-768x192.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Hello_world_c.svg_-1536x384.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Hello_world_c.svg_.png 1600w\" sizes=\"(max-width: 288px) 100vw, 288px\" \/><\/figure>\n\n\n\n<p><em><a href=\"https:\/\/commons.wikimedia.org\/wiki\/File:Hello_world_c.svg\" target=\"_blank\" rel=\"noreferrer noopener\">\/\/ https:\/\/commons.wikimedia.org\/wiki\/File:Hello_world_c.svg<\/a><\/em><\/p>\n\n\n\n<p>Anders gesagt, auch die genutzten Programmiersprachen haben sich auch vom nat\u00fcrlich sprachlichen Konzept von Sprache entfernt. Das Schweizer Beispiel dazu w\u00e4re sicherlich PASCAL (Wirth CH):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-13.56.11.png\" alt=\"\" class=\"wp-image-9753\" width=\"304\" height=\"93\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-13.56.11.png 630w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-13.56.11-300x91.png 300w\" sizes=\"(max-width: 304px) 100vw, 304px\" \/><\/figure>\n\n\n\n<p><em>\/\/ https:\/\/de.wikipedia.org\/wiki\/Pascal_(Programmiersprache)<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Esoterische Sprachen: FALSE und Brainfuck<\/h3>\n\n\n\n<p>Noch weiter gehen die sogenannten esoterischen Programmiersprachen wie FALSE und danach Brainfuck (M\u00fcller CH) &amp; Co. Diese haben dann nichts mehr eigentlich mit konkreten Progammiersprachen zu tun, sondern sind interessante Experimente, wie kleine etwa eine Sprache sein muss. <br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;++++++++&#91;&lt;+++++++++&gt;-]&lt;.&gt;++++&#91;&lt;+++++++&gt;-]&lt;+.+++++++..+++.&gt;&gt;++++++&#91;&lt;+++++++&gt;-]&lt;+\n\n+.------------.&gt;++++++&#91;&lt;+++++++++&gt;-]&lt;+.&lt;.+++.------.--------.&gt;&gt;&gt;++++&#91;&lt;++++++++&gt;-\n\n]&lt;+.\n\n<\/code><\/pre>\n\n\n\n<p>\/\/ <a rel=\"noreferrer noopener\" href=\"https:\/\/therenegadecoder.com\/code\/hello-world-in-brainfuck\/\" target=\"_blank\">https:\/\/therenegadecoder.com\/code\/hello-world-in-brainfuck\/<\/a><br><br>Hier handelt es sich zwar um eine Sprache, aber diese ist f\u00fcr Menschen fast unleserlich &#8211; daneben ist selbst Perl leserlicher. Darum ist die Namensgebung Brainfuck genau richtig.<\/p>\n\n\n\n<p>Eine Computer in Brainfuck (2023) k\u00f6nnte etwa so funktionieren:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"816\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.00.23-1024x816.png\" alt=\"\" class=\"wp-image-9754\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.00.23-1024x816.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.00.23-300x239.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.00.23-768x612.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.00.23-1536x1224.png 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.00.23.png 1764w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.brainfuckconsole74.ch\">https:\/\/www.brainfuckconsole74.ch<\/a>. Wobei hier das Laden von Software nicht in Brainfuck funktioniert. <\/p>\n\n\n\n<p>Mehr zu <a href=\"https:\/\/esoteric.codes\" target=\"_blank\" rel=\"noreferrer noopener\">esoterischen Sprachen findet sich hier &gt; <\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Logische Programmiersprachen &#8211; Prolog 1972+ &amp; Co<\/h2>\n\n\n\n<p>Selbstverst\u00e4ndlich gab es auch Entwicklungen, die Sprache und ihre inh\u00e4rente Logik abzubilden. Ein Beispiel hierf\u00fcr w\u00e4re etwa Prolog. Eine <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Logic_programming\" target=\"_blank\">logische Programmiersprache<\/a> und eigene Richtung der AI-Forschung. Die \u00fcber Fakten und Regeln auch logische Schliessungen m\u00f6glich macht. Damit l\u00e4sst sich auch Sprache parsen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mother_child(trude, sally).\n \nfather_child(tom, sally).\nfather_child(tom, erica).\nfather_child(mike, tom).\n \nsibling(X, Y)      :- parent_child(Z, X), parent_child(Z, Y).\n \nparent_child(X, Y) :- father_child(X, Y).\nparent_child(X, Y) :- mother_child(X, Y).<\/code><\/pre>\n\n\n\n<p>Mehr zu Prolog und Co findet sich hier: <a href=\"https:\/\/en.wikipedia.org\/wiki\/Prolog\">https:\/\/en.wikipedia.org\/wiki\/Prolog<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">ObjektOrientierteProgrammierung (<a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Object-oriented_programming\" target=\"_blank\">OOP<\/a>) 1967+ &#8211; Mehr Komplexit\u00e4t !<\/h2>\n\n\n\n<p>Das sprachliche Paradigma des Einzelknechtes kam rein organisatorisch langsam zu einem Ende. Ausgehend von einem Zeichnungsprogramm sollte Gezeichnetes nicht einfach in eine Ebene gerechnet als Pixel werden (was die analoge Malerei tut), sondern die Figuren weiter bearbeitbar sein (Attribute, Unterschiede der M\u00f6glichkeiten bei verschiedenen Figuren). Die Figuren wie Kreise mussten also anders verwaltet werden. <br><br>The next step war die Behandlung der Welt im Computer als eine Welt aus Objekten, die &#8222;selbsthandelnd&#8220; sind und in Klassen eingeordnet werden konnten. Die Valenzgrammatik wurde letztlich auch hier konsequent angewendet. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.47-1024x662.png\" alt=\"\" class=\"wp-image-9756\" width=\"565\" height=\"366\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.47-1024x662.png 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.47-300x194.png 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.47-768x496.png 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/Bildschirmfoto-2024-06-19-um-14.13.47.png 1260w\" sizes=\"(max-width: 565px) 100vw, 565px\" \/><\/figure>\n\n\n\n<p><br>Wobei gesagt werden muss, dass normalerweise immer noch der Hauptrechenknecht (main) den ersten Anstoss gibt, indem er diese Objekte nach Klassentemplates erschafft. Dabei geh\u00f6ren Objekte zu einer Klasse als Template.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ in Java etwa\njakob.gibt( stein );<\/code><\/pre>\n\n\n\n<p> In der Programmiersprache Objective C, erkennt man die urspr\u00fcngliche Idee noch besser.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;jakob gibt: stein]<\/code><\/pre>\n\n\n\n<p>Dazu kommt die M\u00f6glichkeit Klassen abzuleiten und damit zu erweitern.<br><br>Microsoft stellte 2006 den CommandLineInterpreter PowerShell vor, der ebenfalls objektorientiert funktioniert.<br><br>Mehr dazu hier: <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/PowerShell\" target=\"_blank\">https:\/\/en.wikipedia.org\/wiki\/PowerShell<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">NExT und ihre abreissbaren Befehle<\/h2>\n\n\n\n<p>Ende der 80er Jahre pr\u00e4sentierte dann Steve Jobs die NExT (nach seinem Abgang bei Apple). Einen teuren Computer mit allem Drin (wie Multithreading, DisplayPostcript etc.) inklusive Netzwerkm\u00f6glichkeiten basierend auf einem UNIX-Derivat. Das ganze System war in OOP entwickelt worden mit Objective-C. Das Interessanteste in Sachen Sprache: Die Menueintr\u00e4ge konnten als Befehlsbuttons abgerissen werden und auf der Oberfl\u00e4che platziert werden. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Tech : NeXT Cube Demo\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/uXHFfc3btCI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Hier konnte also jeder seine Oberfl\u00e4che als 2-dimensionales Bedienfeld selbst zusammenstellen. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Touchscreen-Devices<\/h2>\n\n\n\n<p>Die  Touchscreen-Devices wie der <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Apple_Newton\" target=\"_blank\">Newton<\/a> oder sp\u00e4ter SmartPhones und Pads eliminierten auch noch die Maus mit ihrer (relativen) indirekten Steuerung und ersetzen sie durch eine absolute direkte Steuerung. \u00dcber den Stift und ein lernendes &#8218;pers\u00f6nliches&#8216; neuronales Netz war es m\u00f6glich, geschriebene Handschrift direkt in Buchstaben zu verwandeln. Es \u00fcberging damit die manuelle Digitalisierung (Umsetzung). <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/newton2100-1024x739.jpg\" alt=\"\" class=\"wp-image-9774\" width=\"670\" height=\"483\" srcset=\"https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/newton2100-1024x739.jpg 1024w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/newton2100-300x216.jpg 300w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/newton2100-768x554.jpg 768w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/newton2100-1536x1108.jpg 1536w, https:\/\/www.gamelab.ch\/wp-content\/uploads\/2024\/06\/newton2100-2048x1477.jpg 2048w\" sizes=\"(max-width: 670px) 100vw, 670px\" \/><\/figure>\n\n\n\n<p>\/\/ <a rel=\"noreferrer noopener\" href=\"https:\/\/512pixels.net\/2023\/02\/newton-25-years-later\/\" target=\"_blank\">https:\/\/512pixels.net\/2023\/02\/newton-25-years-later\/<\/a><\/p>\n\n\n\n<p>iPhone und iPad eleminierten dann auch noch den Stift.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Zur\u00fcck zur nat\u00fcrlichen Sprache: LLMs  in der Anwendung und Programmierung<\/h1>\n\n\n\n<p>Trotz den Fortschritten gerade in der Sprachausgabe, der Spracherkennung und dem Einbau in Devices wie Alexa oder Siri, blieb der ganz grosse Durchbruch im Bereich der Steuerung von Computern aus. <\/p>\n\n\n\n<p>Nat\u00fcrlichsprachiger Input war meist zu wenig eindeutig bzw. das Einschr\u00e4nken etwa der von Suchen war zu komplex. Gerade komplexere Eingaben in nat\u00fcrlicher Sprache mit anschliessender Verfeinerung bei Ambiguit\u00e4ten war lange Zeit ein Unding (klassisches Problem der Computerlinguistik: Disambiguierung).<\/p>\n\n\n\n<p>Mit der Anwendung all der linguistischen Forschung der letzten 40 Jahre im Bereich Machine Learning sind nun <a rel=\"noreferrer noopener\" href=\"https:\/\/en.wikipedia.org\/wiki\/Large_language_model\" target=\"_blank\">LargeLanguageModels (LLM)<\/a> entstanden (Defiktionalisierte Theorie). Diese k\u00f6nnen in  &#8222;ChatSystemen&#8220; genutzt werden und l\u00f6sen tats\u00e4chlich Probleme bzw. setzen nat\u00fcrlichsprachliche Befehle in klassische technische Befehle um. Dies zeigt ChatGPT nicht eindr\u00fccklich aber dennoch nutzbar.  Selbstverst\u00e4ndlich funktioniert das lediglich mit Problemen, die schon Mainstream sind bzw. anders gesagt, wo Fragen schon oft gestellt wurden und L\u00f6sungen vorliegen. \u00dcbergeht man dabei auch die Tatsache, dass man Millionen von Entwickler* und Forenschreiber* der Resultate ihrer Arbeit beraubt, indem diese Dienste oft kostenpflichtig sind, ist alles in Ordnung.   <\/p>\n\n\n\n<p>Dadurch werden aber auch Tools m\u00f6glich, die nat\u00fcrlichsprachliche Befehle etwa in CLI-Scripts umsetzen (siehe etwa <a rel=\"noreferrer noopener\" href=\"https:\/\/www.warp.dev\" target=\"_blank\">warp<\/a>). Es ist also nur noch ein kleiner Schritt bis in jedem Computer unten eine nat\u00fcrlich sprachchige Shell prangert, \u00fcber die man den gesamten Computer steuern kann. Dann vermutlich nicht mehr \u00fcber den Umweg von Menus und Maus. Aber dies wird kaum jemanden* st\u00f6ren. Wie dies gehen kann, zeigt ja schon der eine oder andere Browser oder die Suchmaschine. <br><br>Es wird also interessant sein zu sehen, ab wann den AIs mit einem neuronalen Netz als Basis soviel zugetraut wird, dass man schreibt &#8222;Bitte l\u00f6sche alle Files von gestern&#8220;. Und der Computer nachfragt: Auch die logs etc .-) <\/p>\n\n\n\n<p>Es bleibt auch abzuwarten, wann jemand* die erste nat\u00fcrlichsprachige Programmiersprache erfindet. Hier muss ja dann alles eineindeutig sein. Aber vielleicht f\u00e4llt bald auch dieses Paradigma mit ersten Beispielen.  <\/p>\n\n\n\n<p>Das Paradigma der Sprache ist zur\u00fcck und damit  auch die Visionen der 60er Jahre++ sind wieder ganz aktuell. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Todo<\/h2>\n\n\n\n<p>\/\/ mehr zu ALGO &gt; C<br>\/\/ mehr zu Prolog und Co<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[Dieser Text ist nicht umfassend, sondern soll lediglich ein erster Approach sein zum Thema der Relation Sprache und Computerbedienung\/Programmierung. Selbstverst\u00e4ndlich hat es daneben noch viele andere Entwicklungen gegeben. Aber das ist Stoff f\u00fcr einen anderen BlogEintrag. ] Schaut man sich &hellip; <a href=\"https:\/\/www.gamelab.ch\/?p=7858\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/7858"}],"collection":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7858"}],"version-history":[{"count":150,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/7858\/revisions"}],"predecessor-version":[{"id":9830,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=\/wp\/v2\/posts\/7858\/revisions\/9830"}],"wp:attachment":[{"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gamelab.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}