Freie Software, Open Source und Linux
-
- 16,99 €
-
- 16,99 €
Beschreibung des Verlags
QuellCode1 und ObjektCode2 sind Begriffe aus der Welt der Computerprogrammierung. Um zu verstehen, was an quelloffenen, freien Programmen überhaupt so besonders ist, ist es notwendig zu verstehen, was diese beiden Begriffe bedeuten und was die technische Entsprechung ihres Verhältnisses zueinander ist.
Ein Rechner ist von sich aus eigentlich nicht in der Lage, richtig zu rechnen. Ein Rechner arbeitet intern mit einer Informationseinheit, die Bit3 genannt wird. Was ein Rechner tun muss, um zwei reelle Zahlen in Bits darzustellen und miteinander zu multiplizieren, muss dem Rechner sozusagen Bit für Bit beigebracht werden.
Eine Programmiererin, die ein Problem zu lösen hat, kann sich natürlich nicht damit herumschlagen, jedesmal von neuem dem Rechner diese Grundlagen beizubringen. Stattdessen gibt es fertige Bibliotheken, die eine große Menge an StandardFunktionen und Datentypen bereitstellen, mit denen sich Daten wie zum Beispiel reelle Zahlen oder komplexere Daten wie Grafiken definieren und manipulieren lassen. Ebenso sind viele komplizierte Konzepte, die die Wissenschaft der Informatik hervorgebracht hat bereits in diese Bibliotheken eingeflossen wie zum Beispiel effiziente Verfahren, um große Mengen an Daten alphabetisch zu sortieren. Ein Beispiel für eine solche Bibliothek ist die C++Bibliothek. Die Menge der aus dieser Bibliothek zur Verfügung gestellten Funktionen und Datentypen und die Definition derer Notation stellt vereinfacht gesagt eine Sprache dar. Ein BeispielText in der C++Sprache sieht wie folgt aus:
Dies ist ein vollständiges Programm in der Sprache C++. Es tut nichts weiteres, als die Zeile hello world! auf dem Bildschirm auszugeben. Die Zeile, die mit #include anfängt, stellt alle Funktionen, die in der C++Bibliothek unter iostream verzeichnet sind, im Kontext dieses Programmetextes zur Verfügung. Dieser Text sieht zwar kompliziert aus, jedoch versteckt hier die Funktion cout, die in iostream definiert ist, eine Menge an Detailwissen, um das sich die Programmiererin nicht zu kümmern braucht: wie nämlich die Zeichenkette, die in message [ ] zuvor gespeichert wurde, auf dem Bildschirm ausgegeben wird. Desweiteren braucht sich die Programmiererin nicht darum zu kümmern, wie die Zeichenkette im Arbeitsspeicher im Rechner verwaltet wird. Es genügte, einen Datentypen auszuwählen, der für eine Zeichenkette (die auszugebende Zeile) angemessen ist.