Dieses Kapitel beschäftigt sich mit den Grundlagen zur Computertechnik.
Computer
Die ersten Computer wurden um 1941 gebaut und sind nicht mit den heutigen modernen Computern vergleichbar. Computer sind digitale Datenverarbeitungsmaschinen, die in ihrer ursprünglichen Form lediglich Zahlen addieren und subtrahieren konnten. Moderne Computer sind sehr komplex aufgebaut und verfügen über zahlreiche Zusatzfunktionen, die im CPU-Kern heutiger Maschinen integriert sind.
Digital bedeutet hierbei, dass der Computer nur mit zwei konkreten Zuständen umgehen kann, die 0 und die 1 und deren zahlreichen Kombinationen. Der logische Zustand 0 wird elektrisch gesehen eine Spannung zugewiesen, die beim Arduino zum Beispiel zwischen 0 V und 1,5V festgelegt wurde. Der logische Zustand 1 wird allerdings beim Arduino mit einer Spannung zwischen 3V und 5V belegt. Spannungen, die zwischen der logischen 0 und der logischen 1 liegen, sollten dabei vermieden werden.
Eine bestimmte Anzahl an Zahlen können durch die Kombination aus 0 und 1 im so genannten Binärformat darstellen werden. Dabei wird der kleinste Zustand, hier die Zustände 0 und 1, als Bit bezeichnet. In der Informatik werden Zahlen durch Bytes ausgedrückt. Ebenfalls werden Byteberechnungen durchgeführt. Ein Byte besteht dabei aus 8 Bit. Für interessierte Leser gibt es hier mehr Infos.
Moderne Computer sind heute in der Lage mit großen Datenmengen umzugehen und mit diesen schnelle Berechnungen durchzuführen. In diesem Bereich sind sie den Menschen überlegen, allerdings sind Computer noch keine intelligenten Wesen, die einen Verstand und Gefühle entwickeln können. Ein Computer muss noch von einem Menschen programmiert werden. Dabei muss genau spezifiziert werden, was der Computer berechnen und welches Programm verarbeitet werden soll. Eine Ansammlung von codebasierten Bearbeitungsschritten, die schrittweise vom Computer abgearbeitet werden, kann dabei als Programm angesehen werden.
Programme
Ein Programm ist eine definierte Abfolge von Code-Anweisungen, die bestimmte Funktionen oder Aufgaben umsetzen bis die entsprechende Problemlösung erreicht wird.
Programme werden also von Computer verarbeitet und werden zu Softwarestrukturen zusammengefasst. Dazu gehören zum Beispiel der Internetbrowser, der es ermöglich den Anwender Internetkommunikation durchzuführen. Die sogenannten Betriebssysteme, z.B. Windows oder Mac OS, bestehen aus unzähligen Softwarebausteinen, die komplexe Interaktionsstrukturen beinhalten und durchführen, um Nutzerinteraktionen mit dem Computer realisieren zu können.
Programme werden natürlich in einer höheren Programmiersprache umgesetzt, die wiederum von einem Software-Compiler in einer Maschinenlesbaren Form übersetzt wird.
Die maschinennahe Programmierung wäre hier sehr zeitaufwändig und fehleranfällig, sodass hier auf einer sogenannten höheren Programmiersprache zurückgegriffen werden kann.
Programmiersprachen
Höhere Programmiersprachen bestehen aus syntaktischen Codefragmenten, die der menschlichen Sprache ähneln. Einfache Codestrukturen beschreiben dabei die Problemlösung und können dabei vom Menschen verstanden werden. Die folgende Abbildung visualisiert Instruktionen einer gängigen Programmiersprache.
Wie schon erwähnt wird das fertige Programm durch den Software-Compiler in ein Maschinen lesbaren Form gebracht, die letztendlich aus einer Folge Nullen und Einsen besteht.
Der Compiler übersetzt also Codefragmente einer Programmiersprache in Maschiensprache. Es existieren unzählige Programmiersprachen, die einen eigenen Compiler aufweisen. Die Entwicklungsumgebung des Arduinos beinhaltet zum Beispiel die abgespekte vereinfachte Programmiersprache C.