Eine der besten Ideen: die IDE

Bis in die erste Hälfte der Achtziger Jahre des vergangenen Jahrhunderts war es üblich, für die einzelnen Programmiersprachen Editor, Compiler, Linker und Debugger als vier selbstständige Produkte anzubieten, die vom Benutzer über die Kommandozeile ausgeführt wurden.

Dann wurde die Idee umgesetzt, die aus Programmierern endgültig auch Benutzer (user) machte: die Integrierte Entwicklungsumgebung (IDE = integrated design Environment). IDEs sollten den Software-Entwicklern endlich hilfreiche Werkzeuge unter einer Benutzeroberfläche an die Hand geben, die ihnen häufig wiederkehrende Aufgaben abnahmen und den Zugriff auf wichtige Funktionen übersichtlicher und schneller machten.

Die erste DIE weltweit war Maestro I von Softlab. Sie wurde insgesamt 22.000 mal installiert, davon allein 6.000 mal in der Bundesrepublik Deutschland. Wesentlich erfolgreicher unter den ersten IDEs war das heute noch bekannte Turbo Pascal. In der Regel verfügen Integrierte Entwicklungsumgebungen über folgende Komponenten:

  • Texteditor
  • Compiler oder Interpreter
  • Linker
  • Debugger
  • Quelltextformatierer

Viele haben darüber hinaus Komponenten wie Versionsverwaltung, Projektmanagement, UML-Modellierung oder GUI=Graphical User Interface, mit dem grafische Benutzeroberflächen einfach erstellt werden können.

IDEs gibt es für nahezu alle Programmiersprachen und Plattformen, teilweise auch für mehrere Programmiersprachen unter einer Benutzeroberfläche. Sie sind entweder frei oder proprietär. Letzteres meint, dass eine IDE im Eigentum einer bestimmten Firma ist. Ihr Quelltext kann, auch wenn er öffentlich zugänglich ist, nicht verändert werden, die Lizenzbedingungen sind strikt.

Freie IDEs wiederum teilen sich in Freeware und in Software, die unter einer allgemeinen Lizenz wie der GPL=General Public License stehen. Diese beinhaltet im Wesentlichen:

  • Das Programm darf ohne Einschränkung für jeden Zweck genutzt werden (auch kommerziell).
  • Kopien des Programms dürfen kostenlos oder gegen Geld verteilt werden, wobei der Quellcode mitgeliefert werden muss. Lizenzgebühren sind dagegen nicht erlaubt.
  • Die Arbeitsweise des Programms darf den eigenen Bedürfnissen angepasst werden.
  • Veränderte Programme dürfen auch nur kostenlos oder gegen Geld, jedoch nicht gegen Lizenzgebühren verteilt werden.

Diese Art der Lizenz nannten die Erfinder des Systems auch im Gegensatz zum Copyright das „Copyleft“. Das Betriebssystem Linux ist eines der bekanntesten „Open Source“-Projekte unter freier Lizenz, an dem weltweit Tausende Entwickler freiwillig und kostenlos arbeiten.

Editor

Der Editor ist das Programm, in dem Programmierer ihre Daten erstellen. Die Daten werden in flüchtigen Speichern so lange vorrätig gehalten, bis der Bearbeiter ausdrücklich die Speicherung veranlasst. Bei den meisten Editoren wird durch eine „Undo“-Funktion ermöglicht, Eingaben ohne Schäden und Einschränkungen zurückzunehmen. Besonders gute Editoren schaffen es dabei auch, mit den zu löschenden Eingaben verbundene Daten zu löschen. Geschieht dies nämlich nicht, können vollkommen unsinnige Informationen und Anweisungen übrig bleiben.

Editoren gibt es nicht nur für Textdateien, sondern auch für Web-Text, HTML, XML und Script. Auch Audioeditoren, Leveleditoren für Spieleprogrammierung, Hex-Editoren für Binärdateien, Pixeleditoren für Rastergrafik und Grafikeditoren für z.B. Computer Aided Design (CAD) werden gebraucht.

Compiler

Compiler (engl. von to compile = zusammenführen) ist angesichts der aktuellen Fähigkeiten solcher Programme eine glatte Fehlbezeichnung. Ursprünglich waren Compiler die Programme, die Unterprogramme zusammenfügten. Heute sind es Übersetzer, die ein im Quelltext geschriebenes Programm in eine Zielsprache übersetzen, in Assemblersprache, Bytecode oder Maschinensprache.

Dabei gehen Compiler so vor: Zunächst werden im Frontend oder der Analysephase lexikalische Analyse, syntaktische Analyse und semantische Analyse vorgenommen. Dann wird im Backend der Zwischencode oder der Programmcode erzeugt. Es gibt ganz unterschiedliche Arten von Compilern.

Verwandt mit dem Compiler ist der Interpreter. Er übersetzt nicht, sondern lässt die Vorgaben des Quelltextes Schritt für Schritt direkt ausführen. Er ist also so eine Art Simultanübersetzer mit Handlungsvollmacht.

Linker

Linker ist in der Programmierung keine weltanschauliche oder politische Bezeichnung. Linker ist ein höchst nützliches Programm, das einzelne Programmmodule zu einem ausführbaren Programm zusammenstellt und verbindet.

Linker sorgen auch dafür, dass Programmmodule in anderen Programmen genutzt werden können. Dazu werden die symbolischen Adressen der Funktionen und Variablen in Speicheradressen umgewandelt. Der Linkvorgang erfolgt nach der Kompilierung und ist der letzte Schritt in der Programmierung. Man unterscheidet zwischen zwei Methoden:
Statisch gelinkt wird meist in der Fertigung eines Programms. Aufgrund des Statischen Linkens erhält der Nutzer ein fertiges, sofort ausführbares Programm. Im Gegensatz dazu erfolgt im Dynamischen Linken das Auflösen der Funktions- und Variablen-Namen erst während das Programm ausgeführt wird. Der Vorteil ist, dass Bibliotheken nachträglich leicht ausgetauscht werden können und die Programme kleiner werden. Denn Programmmodule können sich aus ein- und derselben Bibliothek bedienen, der „dynamically linked library“(DLL) oder „shared library“. Da mehrere Programme die gleiche Bibliothek nutzen, wird weniger Speicherplatz benötigt.

Debugger

Ein Debugger ist die Prüfanstalt des Programmierers. Seine Werkzeuge dienen dazu, Programmfehler zu diagnostizieren, aufzufinden und zu beheben. Dafür steuert der Debugger zunächst den Programmablauf durch Haltepunkte und Einzelschrittverarbeitung von Befehlen. Währenddessen inspiziert er Daten in den Registern, im Programmcode und in den Speichern. Er modifiziert Speicher, Register des Prozessorkerns und die Ein-/Ausgabezustände.

In unterschiedlicher Weise sind Debugger in der Lage, Rückmeldungen zu Fehlern und Fehlerquellen zu geben und Fehler selbstständig zu beheben. Wichtig ist oft die finale Version des Debugging. Bei der Ausnahmeunterbrechung von Programmen, die durch einen Fehler erzwungen wurde, kommt der Post-Mortem-Debugger zum Einsatz.

Quelltextformatierer

Eine nützliche kleine Funktion, die in den meisten Integrierten Entwicklungsumgebungen enthalten ist. Sie erledigt die Putz- oder Kosmetikarbeit, wird daher im Englischen teilweise auch „beautyfyer“ genannt. Quelltextformatierer können in bestimmten Grenzen nachlässig geschriebenen Quelltext selbstständig umformatieren. Sie korrigieren Fehler im Programmierstil (code convention), vereinheitlichen das Quelltextlayout, erhöhen die Lesbarkeit und sorgen dafür, dass der Quellcode leichter zu warten ist.

Natürlich gehen sie dabei formal vor. Ein Formatierer ist nicht in der Lage, die Bedeutung eines Quelltextes zu erfassen. Es gibt Textsequenzen, die ein Programmierer bewusst abweichend von der code convention schreibt, um das Verständnis für den Code zu erhöhen. Das wiederum kann ein Formatierer nicht verstehen.

Suchen



gratis-infos-box