Computerprogrammierung ist der Prozess des Entwerfens und Erstellens eines ausführbaren Computerprogramms zum Ausführen einer bestimmten Computeraufgabe. Das Programmieren umfasst folgende Aufgaben: Analyse, Generieren von Algorithmen, Profilieren der Genauigkeit und des Ressourcenverbrauchs von Algorithmen sowie Implementierung von Algorithmen in einer ausgewählten Programmiersprache (im Allgemeinen als Codierung bezeichnet). Zu den Aufgaben, die mit der Programmierung einhergehen, gehören: Testen, Debuggen, Pflege des Quellcodes, Implementierung von Build-Systemen und Verwaltung abgeleiteter Artefakte, z. B. des Maschinencodes von Computerprogrammen. Diese können als Teil des Programmierprozesses betrachtet werden, aber häufig wird für diesen größeren Prozess der Begriff Softwareentwicklung verwendet, wobei der Begriff Programmierung, Implementierung oder Codierung für das eigentliche Schreiben von Code reserviert ist. Das erste Computerprogramm stammt im Allgemeinen aus dem Jahr 1843, als die Mathematikerin Ada Lovelace einen Algorithmus zur Berechnung einer Folge von Bernoulli-Zahlen veröffentlichte, die von Charles Babbages Analyse-Engine ausgeführt werden sollte. Daten und Anweisungen wurden einmal auf externen Lochkarten gespeichert, die in Ordnung gehalten und in Programmstapeln angeordnet wurden.In den 1880er Jahren erfand Herman Hollerith das Konzept, Daten in maschinenlesbarer Form zu speichern. Programme wurden meist noch mit Lochkarten oder Klebeband eingegeben. In den späten 1960er Jahren wurden Datenspeichergeräte und Computerterminals so billig, dass Programme durch direkte Eingabe in die Computer erstellt werden konnten. Es wurden Texteditoren entwickelt, mit denen Änderungen und Korrekturen wesentlich einfacher durchgeführt werden konnten als mit Lochkarten. Unabhängig von der Herangehensweise an die Entwicklung muss das endgültige Programm einige grundlegende Eigenschaften erfüllen. Folgende Eigenschaften gehören zu den wichtigsten:

  • Zuverlässigkeit: Wie oft sind die Ergebnisse eines Programms korrekt? Dies hängt von der konzeptionellen Korrektheit der Algorithmen und der Minimierung von Programmierfehlern ab, wie z. B. Fehlern im Ressourcenmanagement und Logikfehlern.

  • Benutzerfreundlichkeit: die Ergonomie eines Programms: die Leichtigkeit, mit der eine Person das Programm für den vorgesehenen Zweck oder in einigen Fällen sogar für unerwartete Zwecke verwenden kann. Solche Probleme können auch unabhängig von anderen Problemen zum Erfolg führen oder zum Scheitern führen. Dies beinhaltet eine breite Palette von textuellen, grafischen und manchmal auch Hardware-Elementen, die die Klarheit, Intuitivität, Kohärenz und Vollständigkeit der Benutzeroberfläche eines Programms verbessern.

  • Effizienz / Leistung: Maß für den Ressourcenverbrauch eines Programms (Prozessorzeit, Speicherplatz, langsame Geräte wie Festplatten, Netzwerkbandbreite und teilweise sogar Benutzerinteraktion): Je weniger, desto besser. Dazu gehört auch die sorgfältige Verwaltung von Ressourcen, beispielsweise das Bereinigen temporärer Dateien und das Beseitigen von Speicherlecks.

  • Wartbarkeit: Die Leichtigkeit, mit der ein Programm von seinen gegenwärtigen oder zukünftigen Entwicklern geändert werden kann, um Verbesserungen oder Anpassungen vorzunehmen.

Heim