Kurz: Eine Programmiersprache ist eine formale Sprache, mit der Menschen einem Computer Anweisungen geben. Es gibt hunderte davon; sie unterscheiden sich in Stil (Paradigma), Typsystem, Ausführung und Einsatzgebiet – keine ist für alles die beste.
Genauer: Computer verstehen nur Maschinencode aus Nullen und Einsen. Programmiersprachen sind der Kompromiss zwischen dem, was Menschen gut lesen und schreiben können, und dem, was ein Computer ausführen kann. Ein Compiler oder Interpreter übersetzt den lesbaren Quelltext. Welche Sprache sich eignet, hängt vom Problem ab: Webseiten, Datenanalyse, Betriebssysteme und Banksysteme stellen sehr unterschiedliche Anforderungen.
Im Detail
Die wichtigsten Unterscheidungsmerkmale
- Paradigma: Denkweise des Programmierens – imperativ, objektorientiert, funktional, logisch oder deklarativ.
- Typsystem: Werden Datentypen vor dem Start geprüft (statisch) oder erst während des Laufs (dynamisch)? Wie streng sind die Regeln?
- Ausführung: Maschinencode im Voraus, Bytecode auf einer virtuellen Maschine oder direkt vom Interpreter.
- Speicherverwaltung: Automatische Müllabfuhr, Referenzzählung oder manuelles Freigeben.
- Ökosystem: Bibliotheken, Paketverwaltung, Werkzeuge, Community und Stellenmarkt.
Sprachen nach Einsatzgebiet
| Einsatzgebiet | Typische Sprachen |
|---|---|
| Webseiten im Browser | HTML und CSS, JavaScript, TypeScript |
| Server und Web-Backends | Python, Java, C#, Go, PHP, Ruby, Elixir |
| Betriebssysteme und Treiber | C, C++, Rust, Zig, Assembler |
| Mobile Apps | Kotlin, Swift, Dart |
| Daten, KI und Wissenschaft | Python, R, Julia, MATLAB, Fortran |
| Datenbanken | SQL |
| Automatisierung und Administration | Bash, PowerShell, AWK, Perl, Tcl |
| Verteilte, fehlertolerante Systeme | Erlang, Elixir, Go, Scala |
| Forschung, Lehre, Compiler | Haskell, OCaml, Racket, Scheme, Prolog |
| Banken, Versicherungen, Altsysteme | COBOL, Java, C#, Visual Basic .NET |
| Sicherheitskritische Systeme | Ada, Rust, C |
Wie viele Sprachen soll man lernen?
Wer eine Sprache gut beherrscht, lernt die nächste deutlich schneller, denn die Konzepte wiederholen sich: Variablen, Schleifen, Funktionen, Datenstrukturen, Fehlerbehandlung. Ein sinnvoller Weg ist, eine Sprache gründlich zu lernen (zum Beispiel Python oder Java), danach eine systemnahe (zum Beispiel C oder Rust) und eine mit anderem Denkstil (zum Beispiel Haskell, Elixir oder Prolog). Das erweitert den Horizont mehr als die zehnte ähnliche Sprache.
Die Kurse der Lernseite sind für genau diesen Weg gedacht: jede Sprache mit geprüften Beispielen, einer Übungsaufgabe und einem Quiz. Eine Entscheidungshilfe bietet Welche Programmiersprache passt zu mir?.
Siehe auch: Sprachen im Vergleich, Zeitstrahl, Hallo Welt in allen Sprachen, Laufzeitumgebungen