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.