Java, Python, Brainfuck?

TEXT Michael Koch

Programmiersprachen sind ein wichtiges Konzept der Informatik: Vorlesungen wie „Compilerbau (Syntax)“ oder „Konzepte und Semantik von Programmiersprachen“ gehören zu fast jedem Bachelor-Curriculum.

Ein besonders frühes Beispiel aus den 1880ern wird Ada Lovelace zugerechnet – mit einer detaillierten Notation, wie man Bernoulli-Zahlen mit einer (Rechen-)Maschine von Charles Babbage berechnen kann. Nach den ersten maschinenspezifischen – häufig binären – Maschinensprachen und Assemblersprachen zur Programmierung von Computern folgten schon in den 1950ern die ersten „wirklichen“ Hochsprachen: FORTRAN (1954), LISP (1958), ALGOL (1958), COBOL (1959), BASIC (1964).

Allgemein akzeptierte Definitionen dazu, was eine Programmiersprache ist, gibt es nicht. Der meist genutzten Definition zufolge sind Programmiersprachen „formale Sprachen zur Beschreibung von Algorithmen, sodass diese von Computern ausgeführt werden können“.

Die Online Historical Encyclopaedia of Programming Languages (hopl.info) führt 8.945 Programmiersprachen auf. Dabei wurde kaum eine komplett neu erfunden. Häufig handelt es sich um Weiterentwicklungen oder Kombinationen aus Konzepten verschiedener existierender Programmiersprachen. Unser Check gibt einen Überblick über die bekanntesten von ihnen.

 

JavaScript

Entwicklungsjahr: 1995
Nutzeranteil *: 62,3 %

… wird genutzt, um das Frontend von Web-Applikationen zu entwickeln und ist eine interpretierte Skriptsprache, die direkt im Webbrowser ausgeführt wird.

Fun Fact: Den ersten JavaScript-Interpreter entwickelte Brendan Eich in nur zehn Tagen.

Python

Erscheinungsjahr: 1991
Nutzeranteil: 51 %

… ist eine objektorientierte Hochsprache mit dynamischer Semantik, die für die allgemeine Programmierung verwendet wird.

Fun Fact: Auch wenn wir alle Python als Schlange kennen, stammt der Name aus der alten BBC-Comedy- Sketch-Serie namens Monty Python’s Flying Circus.

Java

Entwicklungsjahr: 1995
Nutzeranteil: 30,3 %

... ist nicht verwandt mit JavaScript, sondern eine umfangreiche objektorientierte Programmiersprache.

Fun Fact: Benannt wurde Java nach einer starken Kaffee- Sorte, die von den Entwicklern bevorzugt wurde.

Ruby

Entwicklungsjahr: 1995
Nutzeranteil: 5,2 %

… bietet unter den breit verwendeten Programmiersprachen ein sehr weitreichendes Konzept der Dynamik. So ist es nicht nur möglich, zur Laufzeit neue Funktionen zu Klassen hinzuzufügen, sondern sogar, zwei unterschiedliche Instanzen einer Klasse unterschiedlich weiterzuentwickeln – also unterschiedliche Funktionen zu ergänzen.

Fun Fact: Ruby wird gerne zur Veranschaulichung von Duck Typing genutzt; also für den Duck Test im Programmieren („Wenn es wie eine Ente läuft und wie eine Ente quakt, dann muss es eine Ente sein“).

* Ergebnisse einer Umfrage unter Entwickler*innen, welche Sprache sie im letzten Jahr oft benutzten und im nächsten Jahr benutzen möchten: https://survey.stackoverflow.co/2024/technology#mostpopular-technologies-language

Welche sollte man also heute erlernen: JavaScript, Python, Java – Brainfuck?

Was ist die am weitesten verbreitete Programmiersprache? Welche Programmiersprache sollte man heute (zusätzlich) lernen? Hier gehen die Meinung wieder weit auseinander. Also schauen wir in konkrete Zahlen der Verbreitung von Programmiersprachen. Leider ist das nicht so leicht. Wollen wir Zahlen über geschriebene Lines of Code? Über Personen, die eine Programmiersprache beherrschen? Über Stellenangebote, bei denen die Kenntnis einer Programmiersprache gefordert wird?

Die bekannteste Zählung ist der TIOBE Programming Community Index. Der Index „misst“ die Popularität von Programmiersprachen über die Zählung der Ergebnisse, die Web-Suchmaschinen für eine Programmiersprache liefern – inklusive Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube, Baidu, … Aktuell werden 265+ Programmiersprachen gelistet und die Top 10 sind: Python, C++, C, Java, C#, JavaScript, Go, Visual Basic, Fortran, SQL.

https://www.tiobe.com/tiobe-index/

Die bekannteste Zählung nach tatsächlich geschriebenem Sourcecode ist RedMonk Programmiersprachen Ranking. Das Ranking „misst“ Popularität nach Häufigkeit von Pull Requests bei GitHub und Diskussionsdichte bei Stack Overflow.  Hier ist die aktuelle (Januar 2024) Top 10: JavaScript, Python, Java, PHP, C#, TypeScript, CSS, C++, Ruby, C.

https://redmonk.com/

HTML/CSS

Entwicklungsjahr: 1989
Nutzeranteil: 52,9 %

Ist HTML überhaupt eine Programmiersprache? HTML oder genauer XHTML ist sicher eine formale Sprache – das heißt, mögliche Worte (Quelltexte) in HTML lassen sich über eine Grammatik definieren. Im Gegensatz zu Programmier- und Skriptsprachen wie PHP oder JavaScript lassen sich mit HTML aufgrund der fehlenden Befehlsstruktur keine Algorithmen, Aufgaben, Bedingungen oder Schleifen erstellen. Daher zählt HTML „nur“ zu den Markup- oder Auszeichnungssprachen.

Neben „nützlichen“ Programmiersprachen gibt es auch „esoterische“ Programmiersprachen. Diese sollen die Grenzen von Programmiersprachen testen, andere Sprachen hacken – oder schlicht und einfach amüsieren. Whitespace und Brainfuck sind zwei davon.

Whitespace

Entwicklungsjahr: 2002

Im Code werden nur Leerzeichen, Tabs und Umbrüche beachtet, alles andere wird ignoriert. Mit dieser Sprache kann jedes Programm entwickelt werden.

Brainfuck

Entwicklungsjahr: 1993

… verwendet nur die Zeichen „+“, „ . “, „>“, „< “, „-“, „ [ “, „ ] “ und „,“ – keine Buchstaben, keine Zahlen.