Jeffrey Buschhorn on Sun, 2 Feb 2003 21:20:02 +0100 (CET)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [rohrpost] In bash ist Wahrheit (war: Nachtrag zum bootlab)


> Und Linux-PCs
> haben ganz andere Wesen als WinXP-PCs. Linuxkisten sind aufsässige
> Bastarde, Windowsrechner hinterfotzige Schleimer.

Heh. Gelungene Charakterisierung.

> > regredieren heutige GUIs den Computer zu einem recht stupiden, nur
> > manuell bedienbaren Werkzeug.
>
> Im Gegensatz zu früheren Computern, wo man Lochkarten mit den Füssen
> oder reinem Geist stanzte? Eigentlich sind die meisten Werkzeuge nur
> manuell bedienbar. Aus gutem Grund.
>
Ich denke, die Betonung sollte da auf dem "nur" liegen. 
Programmiersprachen im Gegensatz zu GUIs erlauben ja die Konstruktion 
neuer, eigener Werkzeuge. Wenn die Möglichkeit dazu verloren geht, oder 
das Betriebssystem die Sache komplizierter statt einfacher macht, ist 
"Regression" dafür doch eine ganz passende Bezeichung. Siehe Florians 
Argument der Turing-Vollständigkeit...

> > Der springende Punkt eines Computerinterfaces (zu denen ich auch
> > Programmiersprachen zähle) ist für mich deshalb nicht die
> > Abstraktion vom Maschinencode, sondern die Frage, ob es
> > algorithmisch
> > programmierbar
> > bzw. Turing-vollständig ist.
>
> Unglücklicherweise entfesselt Turing-Vollständigkeit die ganze
> Komplexitätshölle der theoretischen Informatik. Nicht nur, dass sich
> nicht alles in endlicher Zeit machen lässt, von den Sachen, die sich
> in endlicher Zeit machen lassen, sind nicht unbedingt viele gerade
> sehr sinnvoll. Und wenn man Computer als Werkzeuge begreift, frage
> ich mich, warum es regressiv sein soll, aus dem weiten Raum des
> Machbaren das Sinnvolle vorzuselektieren. Genau darum geht es bei
> Werkzeugen: Ein Ding zu haben, das eine Aufgabe erfüllen kann. Ein
> wirklich
> universelles Werkzeug ist keines, weil es die Welt ist, aka "das
> Machbare". Werkzeuge haben immer eine inhärente Richtung, eine
> Antwort auf ein Wozu.
> So sind die eben :-)
>
> Dass Computer sehr universelle Werkzeuge sind, weil zumindest in
> ihnen alles machbar ist, was überhaupt machbar ist, ist ein
> schlechter Grund, um über Point&Click-GUIs die Nase zu rümpfen. Denn
> die sind da, um Werkzeug zu sein, also um bestimmte Dinge nicht zu
> können und andere schneller und besser. Ist doch wunderbar.

Kommt darauf an, wer welche Dinge vorselektiert hat und wie sehr mensch 
an diese Selektion gebunden wird. Vor allem, wenn es Dinge sind, die 
eigentlich, also den Möglichkeiten der Hardware und den Gesetzen der 
theoretischen Informatik nach, sehr wohl in endlicher Zeit zu machen 
wären, aber nach den Gesetzen der Produkt- und Preispolitik nach eben 
nicht. 

> > Zuviel Abstraktion (Beispiel Java) führt zu absurd lahmer,
> > speicherfressender
> > Bloatware, zuwenig (Assembler) zu nichtportablem, CPU-proprietärem
> > Code. Wäre alle heutige PC-Software in x86-Assembler geschrieben,
> > würde sie zwar schneller laufen.
>
> Veto. Nicht mal das. Wenn sie je fertig würden, wären sie so
> bugverseucht, dass sie nur sehr kurz schneller laufen würden.

Stimmt. Außerdem gäbe es sie nicht, weil irgendwann sämtlich 
Programmierer ihre gesamte Zeit darauf verwenden müssten, den 
bestehenden Code, auf dem sie aufbauen müssen, zu vestehen bzw. es zu 
versuchen. Und ich vermute mal, diese Stagnation wäre deutlich vor dem 
jetzigen Komplexitätsstand eingetreten. Nicht mal die Betriebssysteme 
könnte man in Assembler schreiben und warten.

> Abstraktion ist ohnehin kein
> Argument, weil GUIs keine Abstraktion von der Hardware sind, sondern
> ein Ausschnitt aus deren Funktionalität.

Ist doch eine Form von Abstraktion, oder?

> Nur mit Zeigen ist kein Computer zu bedienen. Deswegen neigen die
> Dinger dazu, Tastaturen zu haben und Beschriftungen an den
> Ordnersymbolen, also Elemente, die so sprachlich sind, dass sie auf
> Buchstaben basieren. 

Eine buchstabenfreier GUI wäre schon möglich. Selbstverständlicherweise 
wäre das, was mensch damit machen könnte, ziemlich eingeschränkt. Aber 
genau das ist ja das Problem. Zugegeben, davon sind die heutigen 
Standard-GUIs meilenweit entfernt, und ich glaube auch nicht, dass sie 
dort enden werden, schließlich sind Menschen nicht nur optische, 
sondern auch sprechende (und seit neuestem auch des öfteren 
schreibende) Tiere. Aber genau die Funktionalität, die eine GUI 
gegenüber einer Kommandozeile einbüßt, macht doch das Regressive aus. 
Auch wenn's nur ein bißchen ist.

> Das Klicki-Bunti-Argument war mir nie einsichtig. Wir sind optische
> Tiere, keine aufrecht gehenden Taschenrechner. Schon eine simple
> Sache wie das Verschieben eines Verzeichnisses können wir, egal wie
> sehr wir unseren Unixprompt mögen, nicht anders denken denn als ein
> "Verschieben", ein räumliches Bewegen von A nach B. Den
> Turingmaschinenfreund möchte ich sehen, der beim Verschieben eines
> Verzeichnisses darauf besteht, ausschliesslich an
> Dateizuordnungstabellen zu denken.

Schon richtig, die räumliche Metapher ist einfacher. Spätestens dann, 
wenn der Unixfreund einen Softlink anlegt, muss er die aber verlassen. 
Außerdem bleibt es jedem überlassen, sich zurückzulehnen und sich 
klarzumachen, was genau auf einer hardwarenäheren Ebene abläuft. So 
mächtig sind Metaphern nun auch wieder nicht.

> Die interessante Frage ist doch: Muss man, um mit Computern zu
> arbeiten, /sehen/, dass algorithmisch Instruktionen ausgeführt
> werden, um nicht regressiv zu sein?

Meistens nicht. Manchmal schon.

> Ist es nicht weit interessanter, Sachen zu beschreiben, die keine
> Algorithmen sind, und trotzdem kommt am Ende ausführbare Software
> heraus? Wie kriegt man Übersetzer hin, die die Art, wie Menschen
> Probleme lösen, in Computercode übersetzen, anstatt einfach von den
> Menschen zu verlangen, in Perl (oder bash) zu denken? Zugegeben,
> keine besonders originellen Fragen.

Ich würde GUIs auch nicht verteufeln wollen. Um Abstraktionen kommt 
mensch nicht herum. Aber eine Abstraktion führt immer einen 
Informationsverlust mit sich. Das ist natürlich nicht weiter schlimm, 
wenn es sich dabei um Informationen handelt, die für eine bestimmte 
Tätigkeit nicht gebraucht werden. Damit schränkt aber jede Abstraktion 
die Tätigkeiten ein, die mit ihr möglich sind (und ermöglicht 
natürlich, auf der Ebene des praktisch machbaren, Tätigkeiten, die ohne 
sie nicht machbar gewesen wären).  

> Nun: Bedienen ist Programmieren, d'accord. Für alltägliche Probleme
> wie das Manipulieren von Daten haben wir schnelle Lösungen:
> Betriebssysteme mit GUIs - das ist alles andere als eine
> "Versklavung". 

Das Problem liegt wie gesagt bei den Problemen, die mit der Lösung 
Desktop-GUI nicht zu lösen sind. Wie einfach macht es die GUI, ihre 
Metapher gegebenenfalls zu verlassen? Kann mensch unter die Haube 
gucken, oder ist sie zugeschweißt? 
Da sehe ich den Unterschied zwischen einer guten Sache und Sklaverei. 
Kann natürlich sein, dass das System für die eigenen Zwecke völlig 
ausreichend ist. Dann spürt man auch die Ketten nicht. Aber das ist bei 
jeder Form von Sklaverei so.

-Jeff
-------------------------------------------------------
rohrpost - deutschsprachige Liste zur Kultur digitaler Medien und Netze
Archiv: http://www.nettime.org/rohrpost http://post.openoffice.de/pipermail/rohrpost/
Ent/Subskribieren: http://post.openoffice.de/cgi-bin/mailman/listinfo/rohrpost/