Glossar Softwareentwicklung
Glossar Softwareentwicklung
Alle Fachbegriffe des Beitrags Die Geschichte der Softwareentwicklung in alphabetischer Reihenfolge. Die Zahl am Ende nennt den Abschnitt, in dem der Begriff eingeführt wird.
A
- Abhängigkeiten – Fremde Bausteine, die ein Programm braucht und die ein Werkzeug samt deren eigenen Abhängigkeiten herunterlädt, oft Tausende. 6
- Agile Entwicklung – Vorgehen nach dem Manifest von 2001: in kurzen Abschnitten liefern, jedes Mal lauffähige Software, den Plan nach jeder Lieferung anpassen. 6
- Algol 60 – Sprache eines internationalen Komitees (1960) mit Blöcken, rekursiven Prozeduren und formaler Grammatik; Vorfahr von Pascal, C und Java. 2
- Analytical Engine – Babbages mechanische Rechenmaschine (um 1837) mit Rechenwerk, Speicher und Steuerung, die nie fertig wurde. 1
- Assembler – Programm, das Befehle mit Kurzwörtern wie ADD statt Zahlencodes annimmt und in Maschinensprache übersetzt. 1
- Automatischer Test – Programm, das ein anderes Programm prüft: Aufruf mit bekannten Eingaben, Vergleich mit dem erwarteten Ergebnis. 6
B
- Backus-Naur-Form – Formale Notation, mit der sich die Grammatik einer Programmiersprache exakt aufschreiben lässt; eingeführt im Algol-60-Bericht. 2
- BASIC – Sprache für Anfänger von Kemeny und Kurtz (Dartmouth 1964), im Dialog am Fernschreiber benutzbar; zehn Jahre später die Sprache der Heimcomputer. 2
- Betriebssystem – Programm, das die anderen Programme verwaltet: lädt sie, teilt Speicher und Geräte zu, lässt mehrere Aufgaben nebeneinander laufen. 3
- Brooks’ Gesetz – Wer einem verspäteten Softwareprojekt Entwickler hinzufügt, verzögert es nur noch weiter, weil Einarbeitung und Abstimmung wachsen. 3
- Branch – Arbeitslinie in der Versionsverwaltung, die von der Hauptlinie abzweigt und eigene Änderungen bekommt; in Git billig anzulegen. 6
- Browser – Programm zum Lesen von Webseiten; Berners-Lee schrieb das erste 1990. 5
- Bug – Fehler in einem Programm; das Wort ist älter als der Computer, Hoppers Motte von 1947 machte es berühmt. 1
- Bytecode – Zwischencode, den der Java-Compiler erzeugt und eine virtuelle Maschine auf jedem Rechner ausführt. 5
C
- C – Sprache von Dennis Ritchie (1972), nah an der Maschine, aber mit den Strukturen von Algol; Unix wurde 1973 in C neu geschrieben. 3
- C++ – Stroustrups Erweiterung von C um Klassen (1983); Sprache für Betriebssysteme, Datenbanken und Spiele. 4
- Cloud – Rechner und Speicher als Dienstleistung, minutenweise gemietet und per Programmaufruf bestellt; Amazon ab 2006. 6
- COBOL – Sprache für die Geschäftswelt (1959) mit englischen Sätzen; verarbeitet bis heute einen Großteil des Zahlungsverkehrs. 2
- Compiler – Programm, das Programme aus einer für Menschen lesbaren Form in Maschinensprache übersetzt; Hopper prägte das Wort 1952. 2
- Container – Verpackung eines Programms mit allem, was es braucht, damit es auf jedem Rechner gleich läuft; Docker 2013. 6
- Continuous Integration – Jeder Beitrag wird automatisch in das Gesamtprojekt eingebaut und getestet, viele Male am Tag. 6
- Copilot – Werkzeug von GitHub (2021), das beim Tippen die nächsten Codezeilen vorschlägt, auf dem Modell Codex. 7
D
- Debugging – Suchen und Beheben von Fehlern in einem Programm. 1
- DevOps – Entwickler und Betreiber arbeiten als ein Team, die Pipeline vom Quelltext bis zum laufenden Dienst ist durchgehend automatisiert; der Begriff stammt von 2009. 6
F
- Fortran – Erste verbreitete Hochsprache (IBM, 1957), für Formeln gebaut; bis heute in der numerischen Simulation im Einsatz. 2
G
- Garbage Collection – Automatische Speicherverwaltung: Das System gibt nicht mehr benötigten Speicher von selbst frei; mit Lisp eingeführt. 2
- Geheimnisprinzip – Das Innere eines Moduls bleibt verborgen, damit es sich ändern lässt, ohne dass andere Module davon erfahren; Parnas 1972. 3
- Git – Versionsverwaltungssystem von Torvalds (2005) ohne zentralen Server; jeder hat die ganze Projektgeschichte, Branches und Merges sind billig. 6
- GNU General Public License – Stallmans Lizenz (1989): Wer freie Software verändert und weitergibt, muss den Quelltext und die Freiheit weiterreichen. 4
H
- Hochsprache – Programmiersprache, die von der Maschine abstrahiert und dieselbe für verschiedene Rechner sein kann. 2
- HTML – Seitenbeschreibungssprache des Webs, 1990 von Berners-Lee entworfen. 5
I
- Integrierte Entwicklungsumgebung (IDE) – Editor, Compiler und Debugger in einem Programm; Turbo Pascal (1983) war die erste verbreitete. 4
- Interpreter – Programm, das Quelltext nicht übersetzt, sondern Zeile für Zeile beim Lesen ausführt. 2
J
- Java – Sprache von Sun (1995), deren Compiler Bytecode für eine virtuelle Maschine erzeugt; Sprache der Unternehmensserver und von Android. 5
- JavaScript – Sprache, die im Browser läuft; 1995 von Brendan Eich in zehn Tagen geschrieben, heute die meistbenutzte der Welt. 5
K
- Killer-App – Programm, für das Menschen einen Computer kaufen; VisiCalc (1979) war die erste. 4
- Klasse – Bauplan für Objekte gleicher Art; eine Klasse kann von einer anderen erben. 4
L
- Lieferkette – Kette von Bausteinen, Werkzeugen und Diensten, aus denen ein Programm entsteht; seit SolarWinds (2020) ein Angriffsziel. 6
- Linux – Freier Betriebssystemkern von Torvalds (1991), mit den GNU-Werkzeugen zum vollständigen System gewachsen; läuft auf fast jedem Server. 5
- Lisp – Sprache von McCarthy (1958), die Programme als Daten behandelt; führte Rekursion und automatische Speicherverwaltung ein. 2
- Lizenz – Erlaubnis, Software unter bestimmten Bedingungen zu nutzen, zu verändern und weiterzugeben. 4
M
- Maschinensprache – Befehlsvorrat, den die Hardware direkt versteht, als Zahlen: lade Zelle 100, addiere Zelle 101, springe zu Befehl 7. 1
- Merge – Zusammenführen zweier Entwicklungsstände, etwa eines Branches mit der Hauptlinie. 6
- Microservices – Viele kleine Dienste, die über das Netz miteinander reden, jeder einzeln austauschbar, statt eines großen Programms. 6
- Modul – Teil eines Programms mit klarer Aufgabe und einer Schnittstelle, über die andere Teile mit ihm reden; Parnas 1972. 3
O
- Objekt – Einheit, die ihre Daten und die Operationen darauf zusammen in sich trägt; Simula 1967. 4
- Objektorientierte Programmierung – Software als Gesellschaft kooperierender Objekte, die sich Nachrichten schicken; Smalltalk, C++, Java. 4
- Open Source – Software, deren Quelltext offen liegt und die jeder nutzen, verändern und weitergeben darf; der Begriff stammt von 1998. 5
P
- Pascal – Sprache von Niklaus Wirth (1970), um die strukturierte Programmierung herum gebaut und lange Lehrsprache. 3
- Patch – Text, der nur die geänderten Zeilen eines Programms enthält und per E-Mail oder Pull Request eingereicht wird. 5
- Pipe – Unix-Mechanismus, der die Ausgabe eines Programms in die Eingabe des nächsten leitet; so entsteht eine Kette aus Werkzeugen. 3
- Plankalkül – Zuses Entwurf einer höheren Programmiersprache (1942–1945), erst 1972 veröffentlicht. 1
- Programm – Folge von Anweisungen, die eine Maschine ausführen soll; Lovelace schrieb 1843 das erste. 1
- Programmieragent – Sprachmodell mit Werkzeugen, das ein Projekt liest, Dateien ändert, Tests ausführt, Fehler liest und korrigiert, bis die Tests bestehen. 7
- Pull Request – Bitte, eine Änderung in ein Projekt zu übernehmen, auf GitHub als Diskussion über einen Patch. 6
- Python – Skriptsprache von Guido van Rossum (1991), lesbar wie Pseudocode; Sprache der Datenanalyse und der KI. 5
Q
- Quelltext – Das vom Menschen geschriebene Programm, das Compiler oder Interpreter verarbeiten. 2
S
- Schnittstelle – Festgelegte Menge von Aufrufen, über die andere Teile mit einem Modul reden. 3
- Scrum – Rahmen für agile Teams (1995): Sprints von zwei bis vier Wochen, tägliche kurze Besprechung, Vorführung am Ende. 6
- Skriptsprache – Interpretierte Sprache für schnelle, kurze Programme, etwa Python, Perl, PHP. 5
- Smalltalk – Sprache von Alan Kay (1972–1980), in der alles ein Objekt ist und Objekte sich Nachrichten schicken. 4
- Software – Die Anweisungen, die ein Rechner ausführt; der Teil des Computers, den man nicht anfassen kann. Einleitung
- Software Engineering – Softwaretechnik: Software so entwerfen und bauen wie Brücken, mit Methoden, Maßen und Verantwortung; Titel der NATO-Konferenz 1968. 3
- Softwareentwicklung – Die Arbeit, Software zu schreiben, zu prüfen und über Jahre am Leben zu halten. Einleitung
- Softwarekrise – Zustand ab Ende der 1960er, in dem Nachfrage und Größe der Programme schneller wuchsen als die Fähigkeit, sie zuverlässig zu bauen. 3
- Sprint – Arbeitsabschnitt von zwei bis vier Wochen in Scrum, am Ende wird gezeigt, was fertig ist. 6
- Sprungbefehl – goto: Anweisung, die ein Programm an eine beliebige andere Stelle springen lässt; von Dijkstra 1968 als schädlich erklärt. 3
- Strukturierte Programmierung – Programme nur aus Folge, Verzweigung und Schleife zusammensetzen, jeder Baustein mit einem Eingang und einem Ausgang. 3
- SWE-bench – Sammlung echter Fehlermeldungen aus Open-Source-Projekten, an der Programmieragenten gemessen werden (2023). 7
T
- Testgetriebene Entwicklung – Erst den Test schreiben, der noch fehlschlägt, dann gerade so viel Code, dass er besteht, dann aufräumen; Beck 2002. 6
- Time-Sharing – Betrieb, bei dem viele Nutzer gleichzeitig an einem Rechner arbeiten und dieser so schnell zwischen ihnen wechselt, dass jeder glaubt, ihn allein zu haben. 2
U
- Unbundling – IBMs Trennung der Preise für Hardware und Software (1969), Geburtsstunde der Softwareindustrie. 3
- Unix – Betriebssystem von Thompson und Ritchie (1969), klein, für Programmierer gedacht, aus vielen kleinen Werkzeugen; Vorbild von Linux. 3
- Unterprogramm – Stück Programm, das eine Aufgabe erledigt und von überall aufgerufen werden kann; Wheeler 1949. 1
V
- Versionsverwaltungssystem – Bewahrt jeden Stand eines Projekts auf und erlaubt, Änderungen zu vergleichen, zurückzunehmen und zu verschmelzen; CVS, Subversion, Git. 5
- Vibe Coding – Arbeitsweise (Karpathy 2025), bei der man dem Modell sagt, was man will, den Code nicht mehr liest und nur das Ergebnis beurteilt. 7
- Virtuelle Maschine – Programm, das Bytecode ausführt, sodass derselbe übersetzte Code auf jedem Rechner läuft, der die virtuelle Maschine hat; Java 1995. 5
W
- Wasserfallmodell – Projektablauf in abgeschlossenen Stufen: Anforderungen, Entwurf, Programmierung, Test, Betrieb; von Royce 1970 beschrieben und kritisiert, 1976 so benannt, 1985 zum Militärstandard. 3
Zuletzt aktualisiert am