Applikationsentwicklung
Ausschnitt aus einem BASIC-Listing für den C64

Programmierung bezeichnet

  1. 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.
  2. den Vorgang des Einschreibens eines bereits fertig erstellten und in Maschinencode übersetzten Programms und von Daten in einen Festwertspeicher, etwa ein EPROM oder EEPROM.
  3. im Theater- und Kino-Betrieb die Konzeption des Spielplans und damit die Positionierung des Hauses am Markt.

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.

Inhaltsverzeichnis

Qualitätskriterien

Gute Programmierung[1] 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). Sie zeichnet sich also vor allem dadurch aus, dass ein guter Überblick über den grundsätzlichen Funktionsumfang und die Systematik der von der Programmierumgebung bereitgestellten Funktionen (die in die tausende gehen können) erzeugt wird. Für eine definierte Aufgabenstellung können sie in entsprechenden Dokumentationen dann schnell die bereitgestellten Funktionen nachschlagen und einsetzen.

Schlechte Programmierung ist es, wenn viel Zeit in das Adaptieren nicht passender Module gesteckt wird und ein verzwicktes, nur schwer wartbares Gestrüpp von Modulen und Skripten entsteht, die dem jeweiligen Versionswechsel der benutzten Module schutzlos ausgeliefert sind. Man sollte jedes Mal abwägen, ob es sinnvoll ist, etwas Neues zu schaffen oder schon bestehende Funktionen zu nutzen.

Zum anderen bedeutet gute Programmierung, wartbaren Programmtext zu erzeugen. Das heißt, dass die Strukturen, nach denen das Programm oder Programmmodul 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 Quelltext zu erzeugen, dazu verleiten lassen darf, zu kurzen, „kryptischen“ Quelltext zu erzeugen, der zwar ein paar Programmzeilen spart, aber nur noch von ihm selbst verstanden werden kann.

Gute Programme entstehen fast automatisch, wenn redundante Anweisungen und redundante Daten vermieden werden.

Statistisch gesehen wird die meiste Zeit für die Entwicklung von Quelltext benötigt, um auf Fehler oder außergewöhnliche Anwendungs- oder Hardwareumgebungen zu reagieren. Ein Programmtext, der auch bei unvorhergesehenen Fehlern oder ungewöhnlichen Umgebungen sinnvoll reagiert, wird als portabel oder robust bezeichnet. Geübte Programmierer können die möglichen Fehler und Laufzeitumgebungen gut einschätzen und strukturieren das Programm und seinen Quelltext dementsprechend. Der Zeitdruck bei der Entwicklung von Anwendungen stellt selbst an erfahrene Programmierer immer höchste Ansprüche hinsichtlich dieses Kriteriums.

Arbeitsmittel

Die Entwicklung von Programmen wird durch diverse Werkzeuge unterstützt. Dazu gehören Editoren, Integrierte Entwicklungsumgebungen (IDE), Quellcodeverwaltungssysteme, Übersetzer, Prüfsoftware und Testwerkzeuge.

Siehe auch

Weblinks

Literatur

  • David H. Pitt: Category Theory and Computer Programming, Springer, 1986, ISBN 0387171622


Referenz-Fehler: <ref>-Tags existieren, jedoch wurde kein <references/>-Tag gefunden.


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Application Management — bzw. Anwendungsmanagement ist eine Kombination aus der Entwicklung und Betreuung von Applikationen (= Anwendungssoftware) über deren gesamten Lebenszyklus. Dies beinhaltet auch eine umfassende Anwenderbetreuung (=Support) und die… …   Deutsch Wikipedia

  • Produktlinienentwicklung (Software) — Produktlinienentwicklung stellt einen methodischen Ansatz zur Softwareentwicklung dar, dessen Ziel das Erzeugen von Software Produktlinien ist (engl. Software Product Lines, teilw. auch Software Families). Hierbei werden sowohl die… …   Deutsch Wikipedia

  • Informatikmittelschule — Offizielles Logo, kreiert von M. R. der Pilotklasse Winterthur Die Informatikmittelschule (IMS) ist eine Ausbildungseinrichtung in der Schweiz, welche man dort nach den obligatorischen 9 Schuljahren besuchen kann. Als Abschluss erhält man,… …   Deutsch Wikipedia

  • Alte Kantonsschule Aarau — Schulform Kantonsschule (Gymnasium) Gründung 1802 Ort …   Deutsch Wikipedia

  • Automation Alliance — CoDeSys ist eine Entwicklungsumgebung für Speicherprogrammierbare Steuerungen (SPS) nach dem IEC 61131 3 Standard für die Applikationsentwicklung in der Industrieautomation. CoDeSys CoDeSys Screenshot und Logo Basisdaten …   Deutsch Wikipedia

  • CoDeSys — ist eine Entwicklungsumgebung für Speicherprogrammierbare Steuerungen (SPS) nach dem IEC 61131 3 Standard für die Applikationsentwicklung in der Industrieautomation. CoDeSys Entwickler 3S Smart Software So …   Deutsch Wikipedia

  • CoDeSys Automation Alliance — CoDeSys ist eine Entwicklungsumgebung für Speicherprogrammierbare Steuerungen (SPS) nach dem IEC 61131 3 Standard für die Applikationsentwicklung in der Industrieautomation. CoDeSys CoDeSys Screenshot und Logo Basisdaten …   Deutsch Wikipedia

  • EZ Publish — Entwickler: eZ Systems, Norwegen Aktuelle Version: 4.1.0 (18. März 2009) Betriebssystem: plattformunabhängig …   Deutsch Wikipedia

  • EZ publish — Entwickler: eZ Systems, Norwegen Aktuelle Version: 4.1.0 (18. März 2009) Betriebssystem: plattformunabhängig …   Deutsch Wikipedia

  • EasyCODE — Entwickler EasyCODE GmbH Aktuelle Version 8.5.3 Betriebssystem Windows, Macintosh …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”