1. Grundbegriffe
1.1. Informatik
Der Begriff Informatik ist von den Begriffen Information und Mathematik
(und/oder Elektrotechnik) abgeleitet. Obwohl dieser Begriff bereits seit 1957 in Veröffentlichungen
verwendet wurde, setzte er sich erst 1968 im deutschen Sprachraum durch.
Die Informatik unterteilt sich im wesentlichen in drei Unterbereiche: Theoretische Informatik, Praktische
Informatik und Technische Informatik. Darauf aufbauend gibt es die Bereiche Angewandte Informatik (z.B.
Wirtschaftsinformatik), Didaktik der Informatik, Künstliche Intelligenz sowie Informatik und
Gesellschaft.
In der Theoretischen Informatik werden die Grundlagen der Informatik behandelt. So
werden hier die Grundlagen der verschiedenen Algorithmen entwickelt und deren Leistungen untersucht sowie
die Grenzen der Algorithmen und auch die Grenzen der Lösbarkeit von Problemen erforscht. Dazu
gehören die Automatentheorie, Berechnungstheorie, Graphentheorie, Komplexitätstheorie,
Kryptologie usw.
In der Praktischen Informatik werden Computerprogramme entwickelt, um konkrete
Problemen der Informatik lösen zu können. Dabei werden Datenstrukturen und Algorithmen entwickelt,
um Informationen bearbeiten und speichern zu können. Aber auch die Entwicklung von Betriebssystemen,
Compilern und Programmierwerkzeugen gehören dazu.
In der Technischen Informatik werden die hardwareseitigen Grundlagen der Informatik
behandelt. Dazu gehören u.a. die Mikroprozessortechnik und die Rechnerarchitekturen.
1.2. Computerprogramm
Ein Computerprogramm (meist nur kurz Programm genannt) ist ganz allgemein eine
vollständige Arbeitsanweisung an eine Datenverarbeitungsanlage, um mit ihrer Hilfe eine bestimmte
Aufgabe lösen zu können. Das Programm setzt sich aus einzelnen Befehlen zusammen, die die
Verarbeitungsoperationen der Datenverarbeitungsanlage bei der Ausführung des Programms auslösen.
Das Problem bei der Erstellung des Programms besteht darin, die richtigen Befehle auszuwählen und
diese in eine der Aufgabenstellung entsprechend richtige Reihenfolge zu bringen.
Dabei muss unterschieden werden, ob mit einem Programm eine ausführbare Datei oder eine Quelltextdatei
gemeint ist. Bei einer ausführbaren Datei liegt das Programm im Maschinencode vor. Der Maschinencode
enthält Befehle, die der Prozessor eines Rechners direkt versteht und verarbeiten kann.
Quelltextdateien (auch Quellcode- oder Programmcodedateien genannt) sind dagegen Textdateien, die das
Programm in einer Programmiersprache beinhalten. Diese Dateien können vom Prozessor nicht verstanden und
folglich auch nicht verarbeitet werden.
1.3. Daten
Daten sind Informationen, die durch Zeichen oder kontinuierliche Funktionen aufgrund
bekannter oder unterstellter Abmachungen dargestellt werden. Die Zeichen werden dabei als digitale Daten
und die kontinuierlichen Funktionen als analoge Daten bezeichnet (nach DIN ISO/IEC 2382).
Dabei ist der Begriff Daten die Mehrzahl von Datum - nicht im Sinne eines Kalenderdatums, sondern im Sinne
von Datenelement.
Nach dieser Definition bestehen Daten aus einer Größe (Zahl) und einer Einheit; beispielsweise
ist eine Temperatur (bestehend aus Zahl und Einheit) ein Datum. Die Zahl 123 für sich alleine dagegen
ist kein Datum.
1.4. Elektronische Datenverarbeitung
Die elektronische Datenverarbeitung (kurz EDV) ist die Verarbeitung von Daten durch
elektronische Systeme, z.B. durch Rechner. Dabei bezieht sich die Verarbeitung der Daten auf die Eingabe,
Speicherung, Übertragung, Transformation und Ausgabe von Daten. Häufig wird dies auch das EVA-Prinzip
(Eingabe, Verarbeitung, Ausgabe) genannt.
1.5. Programmiersprache
Eine Programmiersprache ist ein Kommunikationsmittel zwischen Menschen und Rechner.
Jede Programmiersprache ist eine formale Sprache und hat eine streng definierte Grammatik, ihre
Syntax.
Der Maschinencode (auch Maschinensprache genannt) kann vom Prozessor direkt verstanden werden, aber von
Menschen kann er im Allgemeinen nicht gelesen werden. Dazu werden Programme in einer Programmiersprache
geschrieben, die von Menschen gelesen werden können. Damit der Prozessor diese Programme verstehen
kann, muss der Quelltext erst von einem Compiler in den Maschinencode übersetzt werden. Dieser
Vorgang wird Compilieren genannt. Das Ergebnis wird in einer ausführbaren Datei gespeichert.
Alternativ kann auch ein Interpreter verwendet werden: Hierbei wird zur Programmlaufzeit Befehl für
Befehl einzelnd aus der Quelltextdatei in Maschinencode übersetzt und dann auch gleich ausgeführt.
Damit sind Programme, die mit einem Interpreter ausgeführt werden, langsamer als Programme, die
vorher mit einem Compiler übersetzt wurden.
Eine dritte Variante kommt z.B. bei Java zum Einsatz: Hier werden die Quelltextdateien in einen
Zwischencode (Bytecode) übersetzt. Dieser Zwischencode wird zur Programmlaufzeit von einer
virtuellen Java-Maschine (im Prinzip ein Interpreter) übersetzt und ausgeführt.
Es wird zwischen hardwarenahen und höheren Programmiersprachen unterschieden (genau genommen gibt
es noch eine Vielzahl weiterer Unterscheidungen wie Skriptsprachen, Datenbanksprachen, CNC zur Steuerung
von Werkzeugmaschinen, usw.). Während bei den hardwarenahen Programmiersprachen wie z.B. Assembler
der Vorteil darin liegt, dass die Hardware direkt angesprochen werden kann, sind höhere
Programmiersprachen wie z.B. Delphi dafür konzipiert, komplexere und strukturiertere Programme zu
erstellen. Die Programmiersprache C wird beiden Bereichen zugeordnet.
Bei der Erstellung eines Programmes sollte immer darauf geachtet werden, dass ein Programm leicht zu
lesen (d.h. leicht zu warten und zu erweitern) und auch leicht zu handhaben (d.h. bedienerfreundlich) ist.
Inhaltsverzeichnis
Nächstes Kapitel: 2. Zahlensysteme