Programmierung



Programmierung (von Altgriechisch πρόγραμμα Programme „öffentliche und schriftlich Bekannt gemachte Nachricht, befehl“) [1] bezeichnet sterben Tätigkeit, Computer – Programm zu erstellen. Das ist ein Teilbereich der Softwareentwicklung [2] und umfasst vor Aller umsetzung (die Implementierung ) Dec Softwareentwurf in Quellcode Eulen – je nach Programmiersprache – das Übersetzen Dezember Quellcodes in sterben Maschinensprache , meist unter verwendung Ein Compiler .

Programme wurden von „Programmering“ („codiert“) formuliert. In Einer Sölch Language „übersetzt“ , wo Programmierer Form (z. B. im Pflichtenheft ) vorgegebene Exigences und Algorithm . Zunehmend Wird dabei sind Durch Code Generator Unterstützt sterben zumindest Teile des Programmcodes auf Basis von Modell automatically erzeugen (im Entwurf Entstanden Sind sterben). Sie können Programme vom Programmierserver auf das Testen (Entwicklertest) seiner Programme sowie die Softwaredokumentation herunterladen .

In vielen, insbesondere in Klein Schulter Softwareprojekten und bei Einsatz Agiler Prozess , der Verlauf Entwurf und sterben Erstellung Programmierbare parallel Eines, das Programm Entwickelt sich in Diesen Fall in Betten Wechselwirkung with the Entwurf und umgekehrt. In Größere Projekte erzeugt Werden der Entwurf und sterben Programmierung (gebildet Haufe als Implementierung bezeichnet) nacheinander Zuführen zu tragen; Dort Programmierer umschalten. Dennoch ist für Sie da Programmierung und kreative Tätigkeit; Denn der Entwurf gibt zwar einen Funktionsrahmen vor, kann aber auf unterschiedliche Art und Weise umgesetzt werden.

Ähnliche Bedeutungen: Umgangssprachlich bezeichnet man auch das Konfigurieren von Haushalts- oder anderen Elektischen Geräten als „Programmieren“. Auch Organisationseinheiten von Unternehmen im Softwareentwicklungsprogramm wurden mit „Programmierung“ zusammengeführt.

Geschichte

Charles Babbage vertraute die Analytical Engine an , die jedoch nicht gestickte wurdes. Ada Lovelace übersetzte 1843 de Beschreibung aus dem Französischen und fügte eigene Notizen hinzu. Diese waren so langweilig wie der ursprüngliche französische Text von Luigi Menabrea. Diese Hinweise wurden als erstes Programm gewarnt. Diese Notis schriebie 100 jahre bevor der erste Computer gebaut wurde. [3] Der Mathematikerin Grace Hopper schuif 1949 ist der Compiler , der Quellcode in Maschinencode übersetzt. [4]

Qualitätskriterium

→ Hauptartikel : Softwarequalität

Die Qualität von Software entsteht neben den folgenden Qualitätskriterien in Bezug auf:

Korrektheit

Ein Programm muss korrekt ausgeführt werden. Dazu muss es in der Regel fehlerfrei signalisieren, wo beim Programmieren meist zwei verschiedene Kunst von von Fehlern auftreten:

  1. Syntax-Fehler : Fehlerhaft formierter Quellcode – man verwendet Formulierungen oder Konstrukte, die nicht in der vorgeschlagenen Programmiersprache verwendet werden (Tippfehler, Unkenntnis, …). Syntaxfehler können vom Compiler / Left oder Parser erkannt werden.
  2. Semantischer Fehler: Dieses Programm ist nicht als die Bedeutung des Algorithmus der Seine bekannt.

Es gibt Berge, in denen beide Fehlerarten fliegen. So kann ein Tippfehler im Code (zB „>“ statt „<„) zu einem falschen ausführlichen Programm führen, das Ergebnis wird jedoch wahrscheinlich falsch signal. Eine andere Reihe von könnte derselbe Fehler eines Syntaxfehler darstellen.

Syntaxfehler wurde von Compiler oder Interpreter als mögliche erkannt und vergeben. Semantische Fehler im Programm Können in der Regel der Autorschaft automatisch erkannt, ohne Test-Tests begründet – zB in Form von Unittests .

Robustheit

Statistisch gesehen ist es möglich herauszufinden, dass die Ausgabe von Quelltext relevant für die Tatsache ist, dass es sich um Angstzustände oder Anomalien handelt. Ein Programmtext, der als Ergebnis verwendet wird. tragbar bezeichnet. Geübte Programmerer können die Fehler und Laufzeitumgebungen des Programmierers und seinen Quelltext demgegenüber beeinflussen. Der Zeitdruck bei der Entwicklung von Anwendungen stellt selbst ein erfahrene Programmierer Höchste Ansprüche dieses Kriterium.

Wartbarkeit

DAMIT Eine Software Dauerhaft funktioniert, sie Muss wartbar sein. Das heißt, Änderungen wie Bugfixes , Anpassungen und neue Funktionen müssen ohne großen Aufwand eingepflegt werden können. Das brauchen wir, weil der Programmcode, der „kryptische“ Quelltext (oder Quellcode ) für andere Entwickler-Cousins ​​verwendet wird oder mit der Einarbeitungszeit verändlich ist.

Um Sölch Probleme zu vermeiden, existiert Eine Reihe von Konventionen Wie die verwendung von selbsterklärenden oder Auch sogenannte sprechenden Variablennamen [5] und stirbt verwendung von Kommentar im Kodex. Auch eine sinnvolle Aufteilung der Codes in intuitiv verständliche Funktion und Klassen tregt zum Verständnis und Übersichtlichkeit bei.

Siehe auch : Programmstil

Effizienz

In der Regel steht das Programm auf Ressourcen ( Laufzeit , Speicherverbrauch, Bandbreite), zur Verfügung. Gute Programmierung kann dazu beitragen, Unfunden Resourceverbrauch zu reduzieren. Wird, ohne die Adressen, die ausgeschrieben wurden.

Effiziente Programmierung

According Niklaus Wirth Zeichner sich gute Programmierung [6] zum EINEM Characterized aus, stirbt Dass Die Leistung, stirbt die Jeweils Verwendet Programmierumgebung bereitstellt, Möglichst Effizient genutzt Werden. Insbesondere sind keine Übersetzungen für diesen Zweck verfügbar.Die Funktion ist entworfen, um ausgeführt zu werden (dh das Programm wird in der Form von Programmbibliotheken programmiert ).). Sie finden die Informationen auch auf der Basis der Funktion und der Funktion des Programms.Die Funktion des Programms basiert auf der Funktion (die der wichtigste Weg ist). Für eine definierte Aufgabenstellung kan inentprechenden Dokumentation schnell eine verfügbare Funktion ermittelt werden. wurden rekrutiert.

Arbeitsmittel

→ Hauptartikel : Programmierwerkzeug

Theoretische Reichen zum Programmieren ein einfacher Texteditor und ein Compiler / Interpreter für die jeweilige Programmiersprache aus. In der Praxis wird aber zusätzlich auf Reine von Werkzeugen zurückgegriffen, die typische Programmieraufgaben verschmelzen. Dazu gehören beispielsweise Texteditoren mit besonderen Merkmalen. Merkmale Syntax-Highlighting , Auto Completion und Refactoring – Wobei die Übergang integratives Entwicklungsumgebung (IDE) fließend ist.

Daneben legen verschalt Werkzeuge Debugger , Sowie Programm Zur Durchführung Statischer und dynamischer Tests . Zur Performanzanalyse kann zusätzlich ein Profiler eingesetzt werden.

Arbeiten Mehrere Entwickler eine Thunders Elbe Software, kommen meist Versionierungssysteme zum Einsatz, um das Code einschließlich früherer Version Auf einem Zentral – Server speichern sterben, auf dem alle beteiligten Programmierer zugriff HABEN.

Siehe auch

  • Programmiergerät
  • Programmierparadigma

Weblinks

  • Joachim Korb: Die Geschichte der Softwareprogrammierung.
  • Einführung ins Programmieren (für Neueinsteiger)
  • Allgemeine Grundlagen der Programmierung (Online Buch)

Einzelnachweise

  1. Hochspringen↑ Wilhelm Pape , Max Sengebusch (Bearb.): Handwörterbuch der griechischen Sprache. 3. Auflage, 6. Abdruck, Vieweg & Sohn, Braunschweig 1914. 1914, abgerufen am 9. Dezember 2015 .
  2. Hochspringen↑ Lerne Programmieren lerneprogrammieren.com Unterschied zwischen Programmierung und Softwareentwicklung
  3. Hochspringen↑ Ada Lovelace , aufgerufen am 7. Juni 2016
  4. Hochspringen↑ Grace Hopper , Yale University, erhielt am7. Juni 2016
  5. Hochspringen↑ Ulrich Kohler, Frauke Kreuter: Datum Analyse mit Stata: Allgemeine Konzepte der seit Analysis und praktische Ihre anwendung . 4. Auflage. Oldenbourg Wissenschaftsverlag 2012, ISBN 978-3-486-70921-6 , S. 113 (books.google.com – Datum Analyse mit Stata: Allgemeine Konzepte des seit Analysis und ihre praktische anwendung – mit „Sprecher Variablennamen“ im Abschnitt „5.6 Beschriftung von die Variable „).
  6. Hochspringen↑ Niklaus Wirth : Eine kurze Geschichte des Software Engineering . In: IEEE-Annalen der Geschichte des Rechnens . Band 30, 3, Juli-September 2008, S. 32-39, Doi : 10.1109 / MAHC.2008.33 ( computer.org [PDF; abgerufen am 30. April 2009]).