Programmiersprachen im Überblick
Was du heute lernst:
- Die Entwicklung von maschinennahen zu hochabstrakten Programmiersprachen nachvollziehen.
- Wichtige Programmiersprachen und deren primäre Anwendungsbereiche benennen.
- Die Vorteile von interaktiven Entwicklungsumgebungen wie Jupyter Notebooks erklären.
Geschichte und Entwicklung der Programmiersprachen
Programmiersprachen sind das Fundament der modernen Computerwelt und haben sich im Laufe der Zeit enorm weiterentwickelt. Von den frühen, maschinennahen Sprachen bis hin zu den heutigen hochabstrakten Sprachen ermöglichen sie uns, Computern komplexe Aufgaben zu übertragen.
Chronik der Programmiersprachen
| Sprache | Jahr | Eigenschaften / Anwendungsgebiete |
|---|---|---|
| Maschinensprache | ca. 1940er | Binärcodes, direkt von der CPU verstanden; sehr fehleranfällig. |
| Assembler | ca. 1950er | Mnemonische Kürzel für Maschinencode; hardwarenah. |
| FORTRAN | 1957 | Wissenschaftliche/technische Berechnungen; erste höhere Sprache. |
| LISP | 1958 | Künstliche Intelligenz; flexible Listenstrukturen, rekursive Funktionen. |
| COBOL | 1959 | Geschäftsanwendungen; lesbare, englischähnliche Syntax. |
| ALGOL | ab 1958 | Strukturierte Syntax; beeinflusste viele spätere Sprachen (z.B. Pascal). |
| Pascal | 1970 | Klar, strikt; beliebt im Informatikunterricht. |
| C | 1972 | Effiziente Systemprogrammierung; hardwarenah, aber höhere Konzepte. |
| Smalltalk | 1970er | Eine der ersten reinen objektorientierten Sprachen. |
| C++ | 1979 | Erweiterung von C um OOP-Merkmale; Bjarne Stroustrup. |
| Java | 1995 | "Write once, run anywhere"; robust; für Unternehmensanwendungen, Android. |
| JavaScript | 1995 | Webbrowser (Frontend); heute auch Backend (Node.js). |
| PHP | 1995 | Serverseitige Skriptsprache; dominant für Webentwicklung. |
| Python | 1991 | Vielseitig, lesbar; Web, Datenanalyse, KI. |
| Moderne Sprachen | ab 2000er | Multiparadigmen; funktionale Programmierung; spezifische Domänen (z.B. Go, Swift, Rust). |
Jupyter Notebooks und Python
Python hat sich in den letzten Jahren zu einer der wichtigsten Programmiersprachen entwickelt, insbesondere in den Bereichen Datenwissenschaft, Künstliche Intelligenz und maschinelles Lernen. Eine entscheidende Rolle dabei spielen Jupyter Notebooks.
Python – Die vielseitige Sprache
Python ist bekannt für seine einfache, gut lesbare Syntax, die es Anfängern leicht macht, Programmieren zu lernen. Gleichzeitig ist es mächtig genug für komplexe Anwendungen. Es bietet eine riesige Sammlung an Bibliotheken und Frameworks für nahezu jeden Anwendungsbereich.
Jupyter Notebooks – Interaktives Programmieren
Ein Jupyter Notebook ist eine interaktive Weboberfläche, die es ermöglicht, Code, Text (Markdown), mathematische Gleichungen und Visualisierungen in einem einzigen Dokument zu kombinieren. Es ist besonders beliebt in der Datenanalyse und Wissenschaft, da es einen explorativen und iterativen Arbeitsstil fördert. Die Dokumente (Dateien mit der Endung `.ipynb`) bestehen aus Zellen, die entweder Code (z.B. Python) oder Markdown-Text enthalten können. Man kann Code-Zellen einzeln ausführen, die Ergebnisse sofort sehen und so Schritt für Schritt Analysen durchführen oder Algorithmen entwickeln.
Die Kombination: Python in Jupyter Notebooks
- Interaktive Datenanalyse: Daten können eingelesen, bereinigt, analysiert und visualisiert werden, wobei jeder Schritt dokumentiert und nachvollziehbar ist.
- Lehrmaterialien: Lehrer können interaktive Lektionen erstellen, in denen die Schüler Code direkt ausführen und mit den Ergebnissen experimentieren können.
- Rapid Prototyping: Ideen können schnell getestet und Prototypen entwickelt werden.
- Reproduzierbare Forschung: Wissenschaftliche Arbeiten können inklusive des verwendeten Codes und der erzeugten Ergebnisse geteilt werden.
Übungsaufgabe: Programmiersprachen im Vergleich
Aufgabenstellung: Wähle zwei Programmiersprachen aus der Geschichte (außer Python) und recherchiere deren primäre Anwendungsbereiche und jeweils zwei besondere Merkmale.
Hinweise zur Lösung: Denke an die verschiedenen Paradigmen und die unterschiedlichen Entwicklungsumgebungen.
Schwierigkeitsgrad: mittel
Erwartete Bearbeitungszeit: 20 Minuten