[Dieser Text ist nicht umfassend, sondern soll lediglich ein erster Approach sein zum Thema der Relation Sprache und Computerbedienung/Programmierung. Selbstverständlich hat es daneben noch viele andere Entwicklungen gegeben. Aber das ist Stoff für einen anderen BlogEintrag. ]
Schaut man sich die ersten grösseren Computersysteme im Mainframebereich wie etwa Plato Systems (ein Multiuser Elearning System) von Ende der 60er Jahre 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).

Die Idee ist, dass der Mensch seine natürliche 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 über Schulen und Bücher (GutenbergGalaxis), sondern nun eben die Turing Maschine und die dann den Menschen.
“To 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 – and only a finite number, since the algorithm is finite.”
Betz, André: Das eindimensionale Universum: Eine Einführung in ein informationstheoretisches Weltbild. Berlin 2003. S 10
Was liegt also näher, wenn das Gegenüber ein Rechenknecht (andere würden sagen: ein Sklave) ist. Das lässt sich natürlich technisch nicht 1:1 lösen (bis heute zu viel Ambiguitäten), deswegen ist das real genutzte Paradigma dann auch der Imperativ oder einfacher der ‚Befehl‘. Hier werden wenigstens einige Ambiguitäten der Sprache (ihr Vor- und immer auch Nachteil) ‚disambiguiert‘.
„Alan Turing entwickelte über 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üche ausführbaren und allgemein verständlichen Schritten erklärt, wie etwas gekocht wird. Auf einem Computer entspräche dies einem Programm.“
Betz, André: Das eindimensionale Universum: Eine Einführung in ein informationstheoretisches Weltbild. Berlin 2003. S 10
Bei Plato Systems (Programmed Logic for Automatic Teaching Operations, 1968+) wartet auch folgerichtig ein „>“ 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är finanziert).
Sprache als Paradigma
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üche getrennt (keine Zeilenorientierung aber fixed Format). Jede Zeile ein Befehl (Python-Programmierer* haben ein DejaVu). Die Programmiersprache Tutor ist dabei klar an natürliche Sprache angelehnt. Tutor-Code liest sich wie eine Art Text mit Leerstellen (Isers Leerstellentheorie 1972 könnte fast als Template gedient haben oder umgekehrt). Die Eingaben können gefiltert werden, Alternative Lösungswörter (Box oder Cube etwa) oder falsche Lösungswörter können angegeben werden (Answer judging) in einem Input und Füllwörter werden automatisch ausgefiltert. Folgendes Beispiel zeigt die Mächtigkeit dieses Ansatzes
answer <it, is,a, it's, figure, polygon> (right, rt) (triangle, triangular)
Das ganze System fühlt sich sehr sprachlich an, weit sprachlicher als vieles was danach kam. Es ermöglicht auf einfachster Ebene Sprache und Eingabe zu parsen.
Plato war – weil es einen so einfachen Zugang zu Programmierung bot – ein unsäglich erfolgreiches System, was den Content betrifft. Jeder* mit den entsprechenden Rechten konnte selbst einfach Content erstellen (* musste nur jemanden mit freiem Speicher finden).
PLATO systems und games
Bei den Games überwiegen in Sachen Interface aber dann doch die einfacheren Keyboardtasten als Buttons (auch wenn es klassische Games gibt wie etwa in 101 Basic Games – also eher CLI Games mit Input und Output). PLATO konnte anders als die ersten Mainframes auch Grafik darstellen per default (über die Terminals). Grafisch waren also die Spiele für ihre Zeit sehr komplex, da hier „Vectorgrafiken“ zur Verfügung standen.
Unix und Shell (CommandLineInterpreter CLI): Programme als Verben einer Valenzgrammatik
Plato Systems war letztlich eine closed community (Universität) und spielte „ausser“ als Ideengeber ( BulletBoardSystem, Notes, komplexe Rollenspiele, FPS, Multiplayergames und für Xerox Parc) keine grössere Rolle mehr in der Geschichte der Computerentwicklung und ist bis heute leider weitgehend unbeachtet geblieben – Ausnahme die x-tausenden Studierenden, die daran und damit ausgebildet wurden.
Seine Mainframenachfolger oder eher Parallelentwicklungen waren da wie UNIX (Die AT&Ts Strafe wirkte dabei nach in kostenlosen Lizenzen) erfolgreicher. Aufgebaut auf der Sprache C konnte das Betriebssystem fast überall 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 Valenzgrammatik orientiert – 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 übergibt dann den Befehl ans System.
Beispiele der Valenzen von NIMM und GIB (die auch komplexer sein können). Das Subjekt ist hier nicht realisiert, da es Befehlsform ist und meist „Du“ meint. Im Fall von Computern ist klar: „Der Rechenknecht soll tun“.


Beziehungsweise korrekter wäre: Es wird ein Befehl geschickt oder ausgesprochen und dann kommt entweder die Antwort „Etwas nicht ok“ oder dann der ausgeführte Befehl, der das Erwartete macht oder etwas ganz anderes. Hier spiegelt sich die reale Situation von Befehlen wieder. Senden und Sehen, was passiert.
$ banner hi
Die Antwort des Gegenübers ist gross.

Nicht so erfolgreich sieht die sprachliche Handlung dann so aus:
$ helpme
-bash: helpme: command not found
Die Shell ist in diesem Sinn eine manuelle Programmierung. Der Programmierer = User gibt Befehl um Befehl ein.
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öglichkeiten ((, jedes neue Programm ein neues Verb. Jeder (mit Berechtigung) kann ein neues Verb schreiben und das ganze System erweitern. Verben können dann natürlich wiederum eigene Shell-Scripts oder eigene compillierte C-Programme sein.
Damit lässt sich ein Computer per Shell managen:

Die Scriptsprache dazu:

Immer noch einprägend sind hier die Forkbombs, 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ächtigkeit eines Algorithmus.
:(){ :|:& };:
https://en.wikipedia.org/wiki/Fork_bomb
Was aber hier schon auffällt ist, wie durchlässig hier Bedienung des OS und Programmierung des Computers ist. Selbstverständlich steht auch dahinter, dass Menschen eines Tages Worte sagen könnten, die der Computer erkennt und ausführt.
Diese Idee kommt nicht zufällig in vielen (Computer-)Visionen vor – so auch bei Halt&Catch Fire einer Docufiction über 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 Automaten sind dabei immer noch aktiv.
BASIC 1964+
BASIC entsteht zur Programmierung ebenfalls als eine Sprache, die einfach lernbar sein soll. Sie lehnt sich nahe an die analoge Realität (natürlichsprachlich) 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ötig für Sprünge (Loops) und Bedingungen.

// https://www.dartmouth.edu/basicfifty/basic.html
Basic ist in diesen Mainframes ein Programm unter vielen – ein Verb. Meist zuerst gedacht für Input- Output-Programme zum Lernen für die „Masse“. Und dann natürlich mit Inputs abgeschlossen mit Return. Es gibt keine Abfragen etwa für KeyDowns etc, was unerlässlich ist für Post-101-Basic-Games.
Games mit Sprachinterface: Textadventures & MultiUserDungeons (MUDS)
Die ersten Textadventure machten sich natürlich 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 MultiUserDungeon (MUD) benutzen ebenfalls Sprache als Eingabe. „Go West“ und als Display bekam man dann ebenso Text.

Personal Computer wie der Apple II und später IBM PC 1
Mit der weiteren Miniaturisierung und der Neuerfindung der Computeridee als Personal Computer mit dem Apple II oder später dem IBM PC entsteht ein erste Software Annhäherung an die Mainframes. Die einen mit integriertem BASIC (Apple II) oder später ohne bei IBM.
8Bit-Homecomputer – Shell- und Script in einem
Den Gegenpool zu klassischen Shells bildeten nun die aufkommenden und günstigen Computer, sie waren billig und am Markt erhältlich wie der ZX81, TI99 oder etwa der C64. Der C64 wurde geradezu zu einem Massenphänomen und Demokratisierungsmaschine (eigentlich Privatisierungsmaschine).
Selbstverständlich träumt man auch in diesen Welten von „verstehenden“ und sprechenden Computern. Ein menschliches Gegenüber, am Besten als Rechenknecht.

Mit dem C64 wird das Programmiersystem und das Betriebssystem „gekoppelt“ (wie die meisten 8Bit-Homecomputern) oder verschmolzen: Der User* befindet sich in der Shell der ‚Entwicklungsumgebung BASIC‘.
Beim C64 tippt man BASIC Befehle, um etwas von der Diskette und Gott behüte vom Tape zu laden und dann RUN. Jedes Benutzen ist damit hier schon letztlich programmieren (Auch wenn das wenige wissen, warum man dann ‚LOAD “XZY”,8‘ tippt: 8 ist das 8te Device, die Diskette).
Hier verschmilzt alles miteinander und wer mehr möchte, der kann gleich loslegen und tippt:
10 PRINT "HELLO"
RUN
Mit einem anschliessendem Return und RUN geht es los. Auch ist dies im ROM eingelagert und wird nicht etwa nachträglich geladen. Der Vorteil: Es startet schnell auf, der Nachteil: Du lebst mit deinem ROM und dessen Fehlern.
Durch diese Koppelung ist klar: Jeder* kann programmieren und das gehört zum Computer mit dazu. Er kann es in seiner „eigenen“ Sprache machen.
Little Computer People 1985
Das „ResearchSpiel“ Little Computerpeople etwa erfand dann den „Mann“ (Knecht) im Computer tatsächlich und man konnte mit ihm kommunzieren. Der Mann im Computer hatte aber auch einen eigenen Willen: Nur mit einer Bitte (Please … ) brachte man ihn dazu Dinge zu tun. Er wollte einfach kein Sklavenprogramm sein.
Die sprechenden Computer dagegen waren billiger zu haben, wenn auch noch 8Bittiger. Hier etwa in Space Invaders auf dem C64.
Mehr zu Extensions für den C64 – ein weiteres breites Feld findet sich hier. Etwa das MagicVoice Speech Module:

Es gab sogar Konsolen mit Zusatzmodulen für Sprache, wie etwa etwa die Intellivision mit ihrem Intellivoice.
Sprachinterface: Valenzgrammatik in ManicMansion und Co.
Die Idee von der Valenzgrammatik (Lucien Tesnière) ist natürlich auch in den Games wiederfindbar. Die Idee der Valenzgrammatik wird hier kombiniert bei den LucasArts Games. Deren Engine SCUMM ermöglicht dann das „Zusammenclicken“ (Per Tasten-Cursor oder Maus) von Befehlen und den Argumenten, einer der Höhepunkte der Point&Click Adventures.

Die Diskussion um die Point and Click Adventures und der Valenzgrammatik findet sich noch heute gerade zum neusten Monkey Island (2022):
Ron Gilbert: Wir haben uns überlegt, ob wir die Verben zurückbringen sollten […] Ron Gilbert: Was uns bei diesem Münzenmenü am meisten gestört hat, war das Verb „benutzen“. 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 „benutze“? Esse ich ihn, packe ich ihn aus, vermansche ich ihn? Wir haben für „Return to Monkey Island“ in einem ersten Schritt versucht, der Aktion über den Mauszeiger-Text Kontext zu geben, also die Dinge beim Namen zu nennen – anstatt „benutzen“ etwa „essen“.
https://www.heise.de/hintergrund/Interview-zu-Monkey-Island-Die-Kontroverse-war-unvermeidbar-7248052.html
Und die alte Frage, was bedeutet der Befehl.
Iconic Turn – Graphische Oberflächen
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änglich.
Auf Mainframes von XEROX PARC entstand dann auch die erste Idee wie man mittels Maus und Maus-Cursor weitergehen konnte mit grafischen Oberflächen. Das Radikale dahinter: Es ging hier nicht mehr um Sprache, sondern um eine 2D Fingerbedienung und letztlich 2D Grafiken.

https://crm.org/articles/xerox-parc-and-the-origins-of-gui
// Experimente bei Xerox
Diese radikale Änderung liquidierte die umfassende Idee von Sprache (Gutenberg Galaxis) und setzte Bilder hin. Oder theoretischer: Statt der Buchdruck-Bibel kam die Bibel für 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.
Der Durchbruch im Mainstream kam, als Steve Jobs bei einer bezahlten Führung 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.

// Das etwas andere Hello-World
Als Apple den Macintosh 1984 mit seiner Desktop Metapher (inklusive herumschiebbarer Dokumente – Fenster) und Maus auf den Markt brachte (nach einer fast 5 jährigen Entwicklung), reagierte die Branche schwierig (ToDo: Computerheftbesprechungen heraussuchen). Die Sache war klar: Hier die Profis (Shell, Mainframes, IBM PC etc) und dort das Spielzeug.
Und so ging es auch fast ein Jahrzehnt bis Microsoft die Innovation ernst nahm und Windows 95 präsentierte (Windows 1.0-3.1 waren eher ein Versuch den Anschluss nicht ganz zu verlieren).
Mit dem Macintosh wurde aus dem linearen Bedienen eines Computers eine flächige Interaktionsebene. Diese 2 Dimensionen und der Mouse-Click ermöglichten 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 „Maus“ 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.

Die Befehle in einem GraphicalUserInterface mit Maus sind eigentlich die Menueinträge geworden (neben interaktiven Handlungen mit der Maus). Die Ausführung ist das Klicken. Dadurch sind die Befehle geordnet aufrufbar. Die ausgeführten 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ört – nicht sichtbar.
Das GUI kontrolliert auch, was wie möglich ist. Nicht alles ist möglich und das wird teilweise angezeigt, bevor der Befehl vollzogen werden kann. Dadurch entsteht eine völlig 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 „falsche“ Interaktionen wehren – und „gutes“ Verhalten belohnen und „schlechtes“ bestrafen wie das etwa in Games „Gang und Gäbe“ ist.
Homecomputer – der interactive Iconic Turn für die Masse
Der Macintosh war nicht billig und die Homecomputerproduzenten erkannten schnell die Möglichkeiten und die Attraktivität 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ächste Generation von Computer und Interaktion damit. 16/32Bit schnell wie der Macintosh aber ungemein billiger.
Der Amiga benutze die Shell weiterhin im Hintergrund als System und der Atari ST beseitigte die Shell wie der Macintosh vollständig.
Bedienung des Computers und Programmieren entzweit
Die Entwicklungen im GUI&Mouse-Bereich hatten nun endgültig das Band durchgeschnitten zwischen Computernutzung (mehr) und Programmierung (weniger). Dazu kam, dass zunehmend Software auch für speziellere Anwendungen erhältlich war. Also weniger aus Eigenbedarf produziert werden musste.
Programmiersprachen kamen zwar noch mitgeliefert mit – meist Basic. Aber diese standen nicht mehr im Vordergrund. Endkunden waren nun per se „Konsumenten“ von Software.
Für Spiele etwa, musste weiterhin auf Assembler zurückgegriffen werden. Aber es war nun möglich (Speed, RAM) in modernem Basic (etwa GFA-Basic – keine Zeilennummern) auf allen Systemen zu arbeiten. Und so setzt ich auch zunehmend Pascal oder C fest in den ehemaligen Stammlanden von BASIC.
Kryptischere Programmiersprachen im Mainstream
Allein schon das Hello World in C (1972+) sieht nun nicht mehr so „natürlich sprachlich“ aus.

// https://commons.wikimedia.org/wiki/File:Hello_world_c.svg
Anders gesagt, auch die genutzten Programmiersprachen haben sich auch vom natürlich sprachlichen Konzept von Sprache entfernt. Das Schweizer Beispiel dazu wäre sicherlich PASCAL (Wirth CH):

// https://de.wikipedia.org/wiki/Pascal_(Programmiersprache)
Esoterische Sprachen: FALSE und Brainfuck
Noch weiter gehen die sogenannten esoterischen Programmiersprachen wie FALSE und danach Brainfuck (Müller CH) & Co. Diese haben dann nichts mehr eigentlich mit konkreten Progammiersprachen zu tun, sondern sind interessante Experimente, wie kleine etwa eine Sprache sein muss.
>++++++++[<+++++++++>-]<.>++++[<+++++++>-]<+.+++++++..+++.>>++++++[<+++++++>-]<+
+.------------.>++++++[<+++++++++>-]<+.<.+++.------.--------.>>>++++[<++++++++>-
]<+.
// https://therenegadecoder.com/code/hello-world-in-brainfuck/
Hier handelt es sich zwar um eine Sprache, aber diese ist für Menschen fast unleserlich – daneben ist selbst Perl leserlicher. Darum ist die Namensgebung Brainfuck genau richtig.
Eine Computer in Brainfuck (2023) könnte etwa so funktionieren:

https://www.brainfuckconsole74.ch. Wobei hier das Laden von Software nicht in Brainfuck funktioniert.
Mehr zu esoterischen Sprachen findet sich hier >
Logische Programmiersprachen – Prolog 1972+ & Co
Selbstverständlich gab es auch Entwicklungen, die Sprache und ihre inhärente Logik abzubilden. Ein Beispiel hierfür wäre etwa Prolog. Eine logische Programmiersprache und eigene Richtung der AI-Forschung. Die über Fakten und Regeln auch logische Schliessungen möglich macht. Damit lässt sich auch Sprache parsen.
mother_child(trude, sally).
father_child(tom, sally).
father_child(tom, erica).
father_child(mike, tom).
sibling(X, Y) :- parent_child(Z, X), parent_child(Z, Y).
parent_child(X, Y) :- father_child(X, Y).
parent_child(X, Y) :- mother_child(X, Y).
Mehr zu Prolog und Co findet sich hier: https://en.wikipedia.org/wiki/Prolog
ObjektOrientierteProgrammierung (OOP) 1967+ – Mehr Komplexität !
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öglichkeiten bei verschiedenen Figuren). Die Figuren wie Kreise mussten also anders verwaltet werden.
The next step war die Behandlung der Welt im Computer als eine Welt aus Objekten, die „selbsthandelnd“ sind und in Klassen eingeordnet werden konnten. Die Valenzgrammatik wurde letztlich auch hier konsequent angewendet.

Wobei gesagt werden muss, dass normalerweise immer noch der Hauptrechenknecht (main) den ersten Anstoss gibt, indem er diese Objekte nach Klassentemplates erschafft. Dabei gehören Objekte zu einer Klasse als Template.
// in Java etwa
jakob.gibt( stein );
In der Programmiersprache Objective C, erkennt man die ursprüngliche Idee noch besser.
[jakob gibt: stein]
Dazu kommt die Möglichkeit Klassen abzuleiten und damit zu erweitern.
Microsoft stellte 2006 den CommandLineInterpreter PowerShell vor, der ebenfalls objektorientiert funktioniert.
Mehr dazu hier: https://en.wikipedia.org/wiki/PowerShell
NExT und ihre abreissbaren Befehle
Ende der 80er Jahre präsentierte dann Steve Jobs die NExT (nach seinem Abgang bei Apple). Einen teuren Computer mit allem Drin (wie Multithreading, DisplayPostcript etc.) inklusive Netzwerkmöglichkeiten basierend auf einem UNIX-Derivat. Das ganze System war in OOP entwickelt worden mit Objective-C. Das Interessanteste in Sachen Sprache: Die Menueinträge konnten als Befehlsbuttons abgerissen werden und auf der Oberfläche platziert werden.
Hier konnte also jeder seine Oberfläche als 2-dimensionales Bedienfeld selbst zusammenstellen.
Touchscreen-Devices
Die Touchscreen-Devices wie der Newton oder später SmartPhones und Pads eliminierten auch noch die Maus mit ihrer (relativen) indirekten Steuerung und ersetzen sie durch eine absolute direkte Steuerung. Über den Stift und ein lernendes ‚persönliches‘ neuronales Netz war es möglich, geschriebene Handschrift direkt in Buchstaben zu verwandeln. Es überging damit die manuelle Digitalisierung (Umsetzung).

// https://512pixels.net/2023/02/newton-25-years-later/
iPhone und iPad eleminierten dann auch noch den Stift.
Zurück zur natürlichen Sprache: LLMs in der Anwendung und Programmierung
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.
Natürlichsprachiger Input war meist zu wenig eindeutig bzw. das Einschränken etwa der von Suchen war zu komplex. Gerade komplexere Eingaben in natürlicher Sprache mit anschliessender Verfeinerung bei Ambiguitäten war lange Zeit ein Unding (klassisches Problem der Computerlinguistik: Disambiguierung).
Mit der Anwendung all der linguistischen Forschung der letzten 40 Jahre im Bereich Machine Learning sind nun LargeLanguageModels (LLM) entstanden (Defiktionalisierte Theorie). Diese können in „ChatSystemen“ genutzt werden und lösen tatsächlich Probleme bzw. setzen natürlichsprachliche Befehle in klassische technische Befehle um. Dies zeigt ChatGPT nicht eindrücklich aber dennoch nutzbar. Selbstverständlich funktioniert das lediglich mit Problemen, die schon Mainstream sind bzw. anders gesagt, wo Fragen schon oft gestellt wurden und Lösungen vorliegen. Übergeht 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.
Dadurch werden aber auch Tools möglich, die natürlichsprachliche Befehle etwa in CLI-Scripts umsetzen (siehe etwa warp). Es ist also nur noch ein kleiner Schritt bis in jedem Computer unten eine natürlich sprachchige Shell prangert, über die man den gesamten Computer steuern kann. Dann vermutlich nicht mehr über den Umweg von Menus und Maus. Aber dies wird kaum jemanden* stören. Wie dies gehen kann, zeigt ja schon der eine oder andere Browser oder die Suchmaschine.
Es wird also interessant sein zu sehen, ab wann den AIs mit einem neuronalen Netz als Basis soviel zugetraut wird, dass man schreibt „Bitte lösche alle Files von gestern“. Und der Computer nachfragt: Auch die logs etc .-)
Es bleibt auch abzuwarten, wann jemand* die erste natürlichsprachige Programmiersprache erfindet. Hier muss ja dann alles eineindeutig sein. Aber vielleicht fällt bald auch dieses Paradigma mit ersten Beispielen.
Das Paradigma der Sprache ist zurück und damit auch die Visionen der 60er Jahre++ sind wieder ganz aktuell.
Todo
// mehr zu ALGO > C
// mehr zu Prolog und Co