Was macht ein Computer?

Eigentlich müsste die Frage ja lauten, was macht der Mensch mit einem Computer. Aber stellen wir die Frage nach Sinnhaftigkeit - gemäß dem Kartoffeltheorem - mal beiseite.

Ein Computer macht EVA, so hieü das mal in einem Lehrbuch. EVA steht für Eingabe - Verarbeitung - Ausgabe. Der Unterschied zwischen einem Fleischwolf und einem Computer ist, dass der Eine Fleisch verarbeitet und der Andere Daten verwurstet. Beides sind Gerüte, die nichts über die zu verarbeitende Materie wissen. Der Fleischwolf weiss nicht, wie Fleisch schmeckt, der Computer nicht, was die Daten bedeuten.

Eva

Eingabe :- Die Daten kommen über die Tastatur, einen Scanner, die Festplatte, das Internet oder sonstige Geräte in den Rechner.

Verarbeitung :- Das gerade laufende Programm bezieht die Daten in seine Aktionen (z.B. ein fremdes Konto ausräumen, ein Bild schöner machen usw.) ein. Es können auch neue Daten (z.B. eine 3D Ansicht einer Puppenstube) erzeugt werden. Während der Verarbeitung werden u.U. andere Programme gestartet, weitere Eingabedaten angefordert oder Ausgaben getätigt.

Ausgabe :- Offentsichtlich sind Ausgaben über einen Drucker oder einen Monitor. Aber es gibt auch nicht so offensichtliche Ergebnisse, wie z.B. ein blinkedes Lämpchen, Musik oder der Postbote, der das bestellte Paket bringt.

Was sind Daten?

Dies ist die zentrale Frage bei der ganzen Computerei. Verbunden damit sind auch philosophische Ansichten über die Natur von Daten, z.B. ob zwei Menschen über die (physikalisch) selben Daten das gleiche Verständnis haben.

Für den Computer gibt es keine Daten als solche, sondern nur eine Folge von Spannungszuständen in seinem Speicher. Die heutigen Rechner verstehen zwei Zustände (z.B. wenig und viel Spannung), die logisch (d.h. für den Menschen) als An und Aus, oder 0 und 1 interpretiert werden (dies ist das sogenannte Binärsystem).
Die Interpretation dieser Daten wird nur durch den Menschen vorgenommen. Für den Rechner sind Bilder, Zahlen, Programme, Musik usw. lediglich eine große Menge von Speicherzellen mit unterschiedlichen Spannungszuständen.

Deshalb ist es auch falsch zu sagen, dass der Computer dumm oder klug ist oder gar an irgendeinem blöden Fehlverhalten von Software schuld sei. Es sind Menschen, die (aus welchen Gründen auch immer) mittels des Computers aneinander vorbeireden. D.h. wenn der Anwender eine Aktion des Computers anders interpretiert als der Programmierer dies vorgesehen hat oder etwas macht, was so nie getestet wurde, dann ist es normal, dass es Ärger gibt.

Mit vielen (und teilweise recht komplexen) Festlegungen werden aus Bits Zahlen, Bilder, Töne usw. Damit nun jeder unter einer bestimmten Reihenfolge von Bits z.B. das selbe Bild versteht, sind Normen (oder andere, verbindliche Definitionen) erforderlich. Nur dann können verschiedene Entwickler Programme zur Verarbeitung von Musik oder Texten schreiben, die sich untereinander "verstehen".
Da es sehr viele Anforderungen an solche komplexen Daten gibt, gibt es auch eine entsprechende Menge an Definitionen für die selben Dinge. Z.B. .jpg, .gif oder .bmp für Bild-Daten oder .wav, .mp3 usw. für Tondaten.

Was sind Programme?

Programme sind auch nur Folgen von Bits, also Daten, die der Computer aber als Befehle auffasst. Welche Befehle ein bestimmter Rechner versteht ist von seinem Prozessor (äh, was ist ein Prozessor? Diese Frage bleibt dem geneigten Leser überlassen ;-) ) abhängig. Ein Macintosh kann z.B. nicht die Programme für einen Intel Rechner lesen. Deshalb ist es wichtig zu wissen, für welchen Rechnertyp die Programme geschrieben sind.
Doch auch innerhalb einer Rechnerfamilie, wie z.B. Intel gibt es verschiedene Umgebungen (Betriebssysteme), in denen ein Programm ausgeführt wird. Deshalb können Programme für Linux nicht ohne Aufwand unter Windows (oder umgekehrt) ablaufen. Denn jedes Programm verwendet Teile des Betriebssystems und verlässt sich auf diese Umgebung.

Woher weiss der Rechner, was ein Programm und was Daten sind? Dies wird beim Einschalten des Rechners festgelegt. Jeder Computer nimmt einen definierten Anfangszustand an und erwartet an einer bestimmten Adresse in seinem Speicher Anweisungen, was er zu tun hat. Diese Anweisungen werden abgearbeitet.
Dieses erste Programm sorgt dafür, dass z.B. Windows gestart wird. Dort kann der Anwender z.B. weitere Programme von Festplatte starten. Irgendwann kommt ein ungültiger Befehl oder es wird auf eine verbotene Stelle im Speicher zugegriffen und das aktuell laufende Programm oder gar der ganze Rechner weiss nicht mehr weiter: Absturz, Blue-Screen -- Ärger beim Anwender.
Da hilft meist nur eins: Rechner ausschalten. Dann ist virtueller Feierabend.

Willkommen im echten Leben ;-)