website partnerlinks
webseite informationen
website - programmierung
Programmierung
bezeichnet
die Tätigkeit, Computerprogramme (Software) zu erstellen. Im
weiteren Sinne versteht man dabei alle Tätigkeiten, die mit dieser
Programmerstellung verbunden sind, insbesondere auch den
konzeptionellen Entwurf. Im engeren Sinne bezeichnet Programmierung
lediglich das Umsetzen dieses konzeptionellen, abstrakten Entwurfes
in konkreten Quelltext.
Ebenso bezeichnet man mit Programmierung den Vorgang des
Einschreibens eines bereits fertig erstellten und in Maschinencode
übersetzten Programmes und Daten in einen Festwertspeicher, z.B. ein
EPROM oder EEPROM.
Im Theater-Betrieb wird die Konzeption des Spielplans und damit die
Positionierung des Hauses am Markt ebenfalls als Programmierung
bezeichnet.
In vielen, insbesondere in kleineren Softwareprojekten, sind der
Entwurf und die Erstellung eines Programms nicht getrennt, das
Programm entwickelt sich in diesen Fällen in enger Wechselwirkung
mit dem Entwurf und umgekehrt. In größeren Projekten sind Entwurf
und Programmierung (dann häufig als Implementierung bezeichnet)
getrennt. Der Programmierer bewegt sich dann bei seiner Tätigkeit im
Rahmen des Entwurfes; seine Aufgabe ist, die durch den Entwurf
beschriebene Wechselwirkung von ebenfalls dort beschriebenen
Softwarekomponenten durch Programmcode zu realisieren.
Dennoch ist auch Programmieren eine kreative Tätigkeit; ein Entwurf
gibt zwar einen Funktionsrahmen vor, doch kann dieser auf
unterschiedliche Art umgesetzt werden.
Die Programme werden in der Regel in einer Programmiersprache
ausgedrückt. In dieser Sprache formuliert der Programmierer
Algorithmen. Zunehmend wird er dabei durch Codegeneratoren
unterstützt, die zumindest Teile des Programmcodes auf Basis von
Modellen (die im Entwurf entstanden) automatisch erstellen.
programmierung qualität
Gute Programmierung zeichnet sich zum einen dadurch aus, dass die
Funktionen, die die jeweils verwendete Programmierumgebung
bereitstellt, möglichst effizient genutzt werden. Insbesondere geht
es darum, für Aufgabenstellungen nicht das Rad neu zu erfinden, wenn
bestimmte Funktionen schon durch die Programmierumgebung
bereitgestellt werden (beispielsweise in Form von Bibliotheken).
Gute Programmierer zeichnen sich also vor allem dadurch aus, dass
sie einen guten Überblick über den grundsätzlichen Funktionsumfang
und die Systematik der von der Programmierumgebung bereitgestellten
Funktionen (die in die tausende gehen können) haben. Für eine
definierte Aufgabenstellung können sie in entsprechenden
Dokumentationen dann schnell die bereitgestellten Funktionen
nachschlagen und einsetzen. Schlechte Programmierer zeichnet unter
anderem aus, dass sie um keinen Preis etwas Neues entwickeln wollen
und dabei nicht nur die größte Zeit in das Adaptieren von vorher
nicht passenden Modulen stecken, sondern auch ein verzwicktes, nur
schwer wartbares Gestrüpp von zusammengesteckten Modulen und
Skripten hinterlassen, die dem jeweiligen Versionswechsel der
benutzen Module schutzlos ausgeliefert sind. Gute Programmierer
wägen ab, ob es einen Sinn ergibt, Neues zu erschaffen oder ob schon
Bestehendes genutzt werden sollte.
Zum anderen bedeutet gute Programmierung, wartbaren Programmcode zu
erzeugen. Das heißt, dass die Strukturen, nach denen das Programm
oder Programmodul funktioniert, möglichst selbsterklärend sind,
zudem aber auch durch Kommentare im Programmcode dokumentiert sind.
Dies verlangt vor allem, dass der Programmierer sich nicht aufgrund
der obigen Anforderung, kurzen und effizienten Code zu erzeugen,
dazu verleiten lassen darf, zu kurzen, "kryptischen" Code zu
erzeugen, der zwar ein paar Programmzeilen spart, aber nur noch von
ihm selbst verstanden werden kann.
Statistisch gesehen wird die meiste Zeit für die Entwicklung von
Quellcode benötigt, um auf Fehler oder i.a. außergewöhnliche
Software- oder Hardwareumgebungen zu reagieren. Ein Programmcode,
der auch bei unvorhergesehenen Fehlern oder ungewöhnlichen
Umgebungen sinnvoll reagiert, heißt robust. Gute Programmierer
können die möglichen Fehler und Laufzeitumgebungen sehr gut
einschätzen und strukturieren das Programm bzw. seinen Quellcode
dementsprechend. Der Zeitdruck bei der Entwicklung von Software
stellt selbst an erfahrene Programmierer immer höchste Ansprüche
hinsichtlich dieses Kriteriums.
programmierung details
Eine Programmdatei, die aus Maschinencode besteht, enthält
Befehle aus dem Sprachschatz des Prozessors, d.h. Befehle, die für
den Prozessor „verständlich“ und damit ausführbar sind. Die
Erstellung eines solchen Programms bezeichnet man allgemein als
Programmierung. In den Anfängen der Programmierung wurde - bis zur
Entwicklung von sog. Hochsprachen - ausschließlich in Maschinencode
programmiert. Eine Programmdatei, die in einer Hochsprache abgefasst
ist, besteht aus einer Abfolge von (zumeist der englischen Sprache
entnommenen) Befehlen, die für den Programmierer (i. A.)
verständlicher sind als der Maschinencode (z. B. : WHILE, UNTIL, DO,
Preis = Menge * Einzelpreis, ...).
Sowohl der in einer Hochsprache verfasste Quelltext als auch der von
einem Computer ausführbare Maschinencode werden als Programm
bezeichnet. Damit das Programm der Hochsprache auf einem Prozessor
zur Ausführung gebracht werden kann muss es in Maschinencode
übersetzt werden. Ein Befehl einer Hochsprache wird in 1 bis im
Allgemeinen mehrere Maschinenbefehle übersetzt. Den
Übersetzungsvorgang nennt man Compilierung. Um aus dem Quelltext den
Maschinencode zu generieren, wird ein Assembler, Compiler oder
Interpreter benötigt. Diese übersetzen die Befehle der
Programmiersprache, die für menschliche Benutzer verständlich und
bearbeitbar sein sollen, in die semantisch entsprechenden Befehle
der Maschinensprache des verwendeten Computers.
Die Entwicklung einer Vorgehensweise innerhalb der Programmierung in
einer Implementierung bezogen auf einen konkreten Lösungsweg wird
als Algorithmus bezeichnet.
Im Sprachgebrauch wird Computerprogramm meist zu Programm verkürzt
oder der engl. Begriff Software (für Ein- und Mehrzahl) synonym
verwendet.
Ein größeres Programm ...
setzt sich meist aus mehreren Modulen zusammen
verwendet meist Bibliotheken
durchläuft in der Entwicklung mehrere Phasen, die beispielsweise in
den Kernprozessen der Softwaretechnik abgebildet sind.