Definition „Programmieren“

Was ist Programmierung?

| Autor / Redakteur: il1411 / Stephan Augsten

Mittlerweile stehen allerhand Tools zur Verfügung, die das Programmieren deutlich vereinfachen.
Mittlerweile stehen allerhand Tools zur Verfügung, die das Programmieren deutlich vereinfachen. (Bild: hitesh choudhary - Pexels.com / CC0)

Unter dem Begriff Programmieren versteht man die Umsetzung von Software-Entwürfen. Welche Programmiersprache zum Einsatz kommt, hängt von der jeweiligen Aufgabe ab. Gutes Programmieren zeichnet sich stets durch das Einhalten bestimmter Qualitätskriterien aus.

Das Erstellen von Computerprogrammen

Die Programmierung, also die Erstellung oder auch Implementierung von Computerprogrammen, ist ein Teilbereich der Softwareentwicklung. Beim Programmieren wird der Softwareentwurf in Quelltext umgesetzt. Bei einigen Programmiersprachen fällt auch das Übersetzen des Quelltextes in die Maschinensprache, zu Deutsch Kompilieren, in diesen Aufgabenbereich.

Man verwendet zum Programmieren bestimmte Sprachen. Mit Hilfe dieser Programmiersprachen werden die im Pflichtenheft formulierten Anforderungen in eine für den Computer verständliche Sprache übersetzt.

Programmierer werden bei ihrer Arbeit inzwischen häufig von sogenannten Code-Generatoren unterstützt. Diese sind in der Lage, den Programmcode zumindest teilweise auf Grundlage von Modellen automatisch zu erzeugen. Das Programmieren besteht weiterhin aus dem Testen des erstellten Codes (Entwicklertest) sowie aus dem Anfertigen einer Softwaredokumentation.

Programmierer entwickeln Algorithmen

Ein Algorithmus beschreibt, wie eine bestimmte Aufgabenart schrittweise gelöst werden kann. Viele Algorithmen gibt es schon sehr lange, sie wurden also nicht speziell für den Computer geschrieben. Ein bekanntes Beispiel ist der Algorithmus des Euklid, der beschreibt, wie sich der größte gemeinsame Teiler zweier ganzer positiver Zahlen berechnen lässt.

Algorithmen können in natürlicher Sprache formuliert werden, eine solche Anleitung ist für einen Computer allerdings nicht zu gebrauchen. Grund hierfür ist die Vieldeutigkeit, durch die sich natürliche Sprachen auszeichnen. Um Algorithmen für Computer verständlich zu machen, bedarf es einer eindeutigen Ausdrucksform.

Programmiersprachen sind zwar längst nicht so ausdrucksfähig wie eine natürliche Sprache, jedoch kann man mit ihnen dem Computer exakt und unmissverständlich mitteilen, was er tun soll. Der Programmierer hat somit nicht nur die Aufgabe, ein Verfahren zur Lösung des gegebenen Problems zu entwickeln, sondern muss außerdem den entworfenen Algorithmus in eine Programmiersprache übersetzen.

Die Anfänge des Programmierens

Seinen Ursprung hat das Programmieren in der Analytical Engine, einer mechanischen Rechenmaschine, deren Beschreibung im Jahr 1837 vom britischen Mathematiker Charles Babbage veröffentlicht wurde. Diese Beschreibung wurde sechs Jahre später von der Mathematikerin Ada Lovelace um Notizen ergänzt.

Zu diesen „Notes“ zählte ein tabellarischer Plan zum Berechnen der Bernoulli-Zahlen. Dieser Plan, der etwa ein Jahrhundert vor den ersten Computern erstellt wurde, gilt inzwischen als das erste Computerprogramm überhaupt. Der erste Compiler wurde im Jahr 1949 von der Mathematikerin Grace Hopper entwickelt.

Die Qualitätskriterien des Programmierens

Bei der Programmierung müssen bestimmte Qualitätskriterien beachtet werden. Hierzu zählen:

  • Korrektheit
  • Robustheit
  • Performanz
  • Wartbarkeit

Mit „Korrektheit“ ist gemeint, dass das Programm einwandfrei läuft und somit frei von syntaktischen oder semantischen Fehlern ist. „Robust“ ist ein Programm dann, wenn es auf etwaige Fehler sinnvoll reagiert. Das Qualitätskriterium „Performanz“ bezeichnet einen möglichst geringen Verbrauch an Ressourcen, wie zum Beispiel an Speicherplatz oder hinsichtlich der Laufzeit. Wenn das Qualitätskriterium der Performanz erfüllt ist, bezeichnet man das Programm als effizient. Die „Wartbarkeit“ eines Programms ist dann gewährleistet, wenn vorhandene Fehler im Programmcode schnell und präzise ausgebessert werden können.

Programmierwerkzeuge

Um Programmieren zu können, genügen in der Regel ein einfacher Texteditor sowie ein Compiler bzw. Interpreter für die gewählte Programmiersprache. Mittlerweile stehen den Programmierern jedoch zahlreiche ausgefeilte Tools zur Verfügung, die den Prozess des Programmierens deutlich vereinfachen. Hierzu zählen zum Beispiel Editoren, die mit speziellen Funktionen wie Autovervollständigen oder Syntax-Highlighting ausgestattet sind.

Der Übergang von diesen Texteditoren hin zur Integrierten Entwicklungsumgebung (IDE) ist fließend. Weiterhin gibt es mit den sogenannten Debuggern spezielle Werkzeuge, die zur Fehlersuche eingesetzt werden können. Ebenfalls erhältlich sind Programme, mit denen sich statische oder dynamische Tests durchführen lassen. Das Laufzeitverhalten des erstellten Programms kann mit einem Profiler analysiert werden.

Insbesondere komplexere Programme werden häufig von mehreren Programmierern erstellt. Bei diesem kollaborativen Programmieren von Software setzt man im Allgemeinen Versionierungssysteme ein. Diese Systeme erfüllen den Zweck, den aktuellen Programmcode wie auch frühere Versionen auf einem zentralen Server zu speichern. Auf diesen können alle an der Entwicklung beteiligten Personen zugreifen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

C#-Programmierung mit .NET-Entwicklungstools

Einstieg in .NET, Visual Studio und Online-Compiler

C#-Programmierung mit .NET-Entwicklungstools

Um C# und .NET für die Entwicklung zu nutzen, sind zunächst keine teuren Tools notwendig. Microsoft stellt die Werkzeuge, die man zum Einstieg in die Programmierung benötigt, kostenlos zur Verfügung. Wir geben einen Überblick. lesen

Bias-Fehler und Testing in der KI-Entwicklung

Qualitätssicherung bei KI-Algorithmen

Bias-Fehler und Testing in der KI-Entwicklung

In der Industrie gehören auf KI-Algorithmen basierende Systeme inzwischen zum Alltag, zum Beispiel bei der Qualitätssicherung in der Produktion oder beim Betrieb von Anlagen. Aber wie ist es um die Qualität der Algorithmen selbst bestellt? lesen

Drei Entwickler-Trends für das Jahr 2020

Fastly-CTO über Web Development

Drei Entwickler-Trends für das Jahr 2020

Moderne Protokolle und der globale Netzausbau sorgen dafür, dass sich das Internet und die Technik dahinter rapide weiterentwickeln. Fastly-CTO Tyler McMullen nennt basierend auf seinen Erkenntnissen aus der Web-Entwicklung drei wichtige Trends für das Jahr 2020. lesen

Kotlin – oder doch lieber Java?

Programmiersprache mit Potenzial

Kotlin – oder doch lieber Java?

Statisch typisiert, Cloud-nativ, JVM-kompatibel: Die Softwareschmiede JetBrains möchte mit Kotlin das bessere Java erfunden haben. Tatsächlich ist Kotlin die am schnellsten wachsende Programmiersprache und (laut einer Umfrage von RedMonk) eine der 20 beliebtesten überhaupt. lesen

Development- und Testing-Trends 2020

IT-Prognosen des Mainframe-Experten Compuware

Development- und Testing-Trends 2020

Wie geht es mit der Softwareentwicklung im Jahr 2020 weiter? Die Mainframe-Experten von Compuware erwarten gestärkte Entwicklungsteams, mehr Testautomatisierung in Kombination mit dem Shift-Left-Ansatz sowie eine kontinuierliche Verbesserung und exaktere Messung von Development- und Operations-Prozessen. lesen

Mehr Komplexität, Open Source und DevSecOps

Veracode-Prognosen zur Anwendungssicherheit 2020

Mehr Komplexität, Open Source und DevSecOps

Für den Report „State of the Software Security“ erfasst Veracode alljährlich diverse Zahlen zur Software- und Applikationssicherheit. Die Analysen lassen zum Jahreswechsel auch Rückschlüsse auf die Security-Trends und -Bedrohungen der kommenden Monate und Jahre zu. lesen

Was ist Cloud Native Development?

Definition „Cloud-native Entwicklung“

Was ist Cloud Native Development?

Der Cloud-native-Ansatz sieht vor, dass Software mittels und gleichzeitig für Cloud-Computing-Umgebungen entwickelt wird. Anwendungen, die in der Cloud erstellt und betrieben werden, können schneller bereitgestellt werden und auf Anforderungen reagieren sprich skalieren. lesen

Softwareoptimierung für Automatisierungsanwendungen

Softwareoptimierung für Automatisierungsanwendungen

Wo viele Menschen zusammen arbeiten, passieren Fehler. Dies gilt auch für das Erstellen von Software für Steuerungsaufgaben in industriellen Anlagen. Selbst wenn diese Fehler keine größeren Schäden anrichten, verursachen sie häufig beträchtlichen Mehraufwand. Anhand von drei Beispielen soll gezeigt werden, wie sich dies vermeiden und die Qualität von Software in automatisierungstechnischen Produktionssystemen grundsätzlich verbessern lässt. lesen

Die Applikation der Zukunft kennt ihren Kontext

Flexibel, offen und hybrid

Die Applikation der Zukunft kennt ihren Kontext

Anwendungen liegen auf der Straße; man muss sie nur aufheben und über APIs einbinden. Oder etwa nicht? - Ganz und gar nicht, sagt der Gartner-Analyst Paul Saunders. Auch im Zeitalter der Programmierschnittstellen bräuchten die Unternehmen eigene Anwendungen. Allerdings andere als in der Vergangenheit. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 44681848 / Definitionen)