Zum Inhalt springen
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