Welche Programmiersprachen gibt es und womit sollte ich anfangen?

Wir stellen dir die populärsten Programmiersprachen vor und besprechen die jeweiligen Anwendungsgebiete wie App-Programmierung, Spiele-Programmierung, oder hardware-nahe Programmierung. Außerdem erklären wir dir, mit welcher Programmiersprache wir an deiner Stelle anfangen würden und warum.

Übersicht über die populärsten Programmiersprachen

Die 10 populärsten Programmiersprachen nach dem TIOBE Index sind (zur Zeit der Drucklegung) Folgende:
  1. C
  2. Java
  3. Python
  4. C++
  5. C#
  6. Visual Basic
  7. JavaScript
  8. PHP
  9. R
  10. SQL
Dieser Index geht danach, wie viele geschulte Ingenieure es in den jeweiligen Sprachen es gibt, so wie die Anzahl Kurse und Drittanbieter dafür. Zur Berechnung werden Suchmaschinenresultate verwendet. Das bedeutet, dass Klassiker, wie C, C++ und Java, die immer noch gerne an Hochschulen unterrichtet werden, es leichter haben, in diesem Ranking nach oben zu kommen. Es müssen nicht notwendigerweise die besten Programmiersprachen sind. Daher stellen wir dir noch weitere moderne Programmiersprachen vor:

Weitere interessante Programmiersprachen

Neben den unserer Meinung nach besten der oben genannten populärsten Sprachen werden wir dir auch Folgende interessante Sprachen vorstellen: Warum wir gerade diese zusätzlichen Programmiersprachen ausgewählt haben, wird im Laufe des Textes erklärt. Nach diesen Vorbemerkungen geht es nun richtig los:

Programmiersprachen im Detail

Wir besprechen nun die einzelnen in unseren Augen wichtigsten Programmiersprachen. Dabei haben wir diese nicht nach Popularität sortiert, sondern danach, wie ein logischer Fluß im Text entsteht.

JavaScript

In unseren Augen die wichtigste Programmiersprache ist JavaScript, denn es ist die Sprache des Internets. Wenn du ein Spiel im Browser spielst, dann läuft es in JavaScript. Natürlich gilt das nicht nur für Spiele, sondern für Web-Apps aller Art.
Das tolle an JavaScript ist, dass es nicht auf das Web begrenzt ist. Es gibt Programmpakete, im englischen Frameworks genannt, mit denen du damit auch Desktop-Apps und Mobil-Apps herstellen kannst. Für Desktop-Apps kannst du Electron verwenden, und für Mobil-Apps entweder Cordova (früher Phonegap) (inklusive Windows Code) oder NativeScript. Schließlich gibt es mit node.js ein auf JavaScript basierendes Framework (genauer: runtime) für die Serverprogrammierung.

HTML & CSS

Wer JavaScript sagt, muss auch Html und Css sagen. Warum? Während JavaScript dynamische Inhalte generieren kann, sind Html und Css für statische Inhalte verantwortlich. Sie sind dabei streng genommen keine Programmiersprachen, sondern stehen kurz für die englischen Worte "HyperText Markup Language" und "Cascading Style Sheets". Wenn dir diese englischen Begriffe nichts sagen, keine Angst. Wir haben gleich ein paar Beispiele.
Markup Language bedeutet auf deutsch so etwas wie Beschreibungssprache. Will man z.B. dem Browser beim Textstück "Meine Überschrift" mitteilen, dass es sich hier um die Haupt-Überschrift auf der Seite handelt, würde man in seinem Html Dokument schreiben:

<h1>Meine Überschrift</h1>

Neben der Haupt-Überschrift h1 gibt es auch Unter-Überschriften h2 bis h6, die dann typischerweise kleiner dargestellt werden. Aber genau diese Art der Darstellung lässt sich mit CSS kontrollieren.
Möchte man z.B. eine Unter-Überschrift vom Typ h2 rot darstellen, würde man in seinem Css Dokument schreiben:

h2 {
  color: red;
}

Das Tolle daran ist, dass das dann gleich für alle solche Überschriften vom Typ h2 gilt. Mit einem kurzen Kommando in der Css Datei kann man das also für die komplette Webseite ändern. Falls du dich jetzt fragst, wie Html, Css und JavaScript zusammenspielen: Die Css und JavaScript Dateien werden in der jeweiligen Html Datei eingebunden und geladen. Die Details dazu gehen aber über den Inhalt dieses Artikels hinaus.

TypeScript

TypeScript ist ein open-source Projekt von Microsoft, und ist eine Übermenge von JavaScript. Als solche erlaubt es, sogenannte Typisierung zu JavaScript hinzuzufügen. Das bedeutet, dass Variablen in den Programmen einen Typ bekommen, wie z.B. "Zeichenkette" oder "Zahl". Da TypeScript damit Typenfehler selber finden kann, werden Fehler im Programm häufig schon früher (während der Entwicklung) gefunden, und nicht erst, wenn das Programm beim Kunden läuft.
Durch dieses Feature wird TypeScript zu einem beliebten Werkzeug für große Projekte. Während JavaScript schon 1995 veröffentlicht wurde, gab es die erste öffentliche Version von TypeScript erst 2012. Und wenn du gerade erst mit dem Programmieren anfangen willst, solltest du dir nach wie vor lieber erst JavaScript anschauen. Aber wenn du schon JavaScript kannst, und einen Programmierjob suchst, wirst du immer häufiger auch TypeScript in der Stellenausschreibung lesen.

Python

Python ist wohl die Sprache, die von wissenschaftlichen Teams am meisten eingesetzt wird. Es ist eine Scriptsprache, mit der man sehr leicht loslegen kann, aber die Möglichkeiten sind beinahe unbegrenzt. Da Python auch schnellen C-Code einbinden kann, lassen sich damit auch sehr performante Programme erstellen. Desweiteren gibt es Programmbibliotheken zum Plotten, für die mathematische Programmierung, und die umfassendsten Frameworks für maschinelles Lernen, wie z.B. TensorFlow.
Weiterhin kann man Python auf allen Plattformen zum Laufen bringen, und auch Desktop-Apps schreiben. Mit dem Framework Kivy kann man sogar plattform-übergreifend für Windows, Mac OS, Linux, Android, iOS und sogar den Rasperry Pi programmieren. Damit ist Python zusammengesehen wohl der größte Allrounder. Nur, es ist halt nicht die Sprache des Webbrowsers.

Java

Java ist eine Programmiersprache, die nur einmal kompiliert (d.h. in Maschinencode übersetzt) wird, und dann ohne Änderung überall läuft, wo Java ausgeführt werden kann. Damit läuft Java auf vielen Platformen. Das bedeutet aber umgekehrt, dass man dazu meist erst eine Java-Umgebung (virtuelle Maschine, JVM) installieren muss.
Interessanterweise hat Google Java auch als erste Programmiersprache für sein Android Betriebssystem verwendet. D.h., wenn du Java lernst, kannst du nicht nur Desktop-Apps schreiben, sondern auch native Android-Anwendungen. Allerdings löst für die Android Programmierung die neuere Sprache Kotlin Java mehr und mehr ab.

Kotlin

Wer heutzutage lernen will, native Android Programme zu schreiben, sollte anfangen, Kotlin zu lernen. "Nativ" bedeutet dabei, dass dies die eigentliche Programmiersprache des Betriebssystems ist. Im Gegensatz dazu müssen plattform-übergreifende Frameworks wie die oben genannten NativeScript und Kivy zunächst in eine native Programmiersprache übersetzen. Durch diesen Zwischenschritt kann es immer sein, dass plattform-übergreifende Frameworks dem Feature-Umfang der nativen Sprachen etwas hinterherhinken. Wer also den vollen nativen Sprachumfang haben will, oder z.B. nur für Android (und nicht für iOS) programmieren will, sollte Kotlin wählen.

Swift

Swift ist inzwischen das Pendant zu Kotlin für die iOS Programmierung. D.h., wer nativ für iOS programmieren will, sollte heutzutage Swift wählen. Als Nebenbemerkung sei erwähnt, dass die erste Programmiersprache für iOS Objective C war. Während Apple immer noch die iOS Programmierung mit Objective C erlaubt, hat Swift diese Sprache für neue Projekte fast vollständig abgelöst. Wenn du also für iOS Geräte programmieren willst, und nicht für Android, solltest du dies in Swift tun. Ähnlich wie bei Kotlin für Android hast du dann nämlich den kompletten Sprachumfang, und wirst nicht durch plattform-übergreifende Frameworks eingeschränkt.

Dart & Flutter

Dart ist eine Programmiersprache, und Flutter ein zugehöriges UI-Framework (UI steht für User Interface, also Benutzerschnittstelle). Es ist ein von Google entwickeltes open-source Projekt, das Google auch für eigene Apps wie Google Adwords verwendet, um damit mit einer Kod-Basis Android und iOS Apps zu entwickeln. Dart und Flutter sind noch recht jung, aber erfreuen sich einer schnell wachsenden Beliebtheit. Der Grund dürfte sein, dass Dart in der Syntax relativ ähnlich zu neueren JavaScript Versionen ist, und damit für erfahrene Programmierer recht leicht zu programmieren. Gleichzeitig nimmt Flutter einem aber relativ viel Arbeit bei der Programmierung des Benutzer-Interfaces ab.
Dazu gibt es schon erste Versionen von Flutter, die auch Desktop Programmierung und das Web unterstützen. In letzterem Fall wird dann z.B. Dart Code nach JavaScript kompiliert. Hauptvorteil gegenüber Projekten wie Kivy oder NativeScript dürfte sein, dass mit Google ein Multi-Milliarden Unternehmen hinter dem Projekt steht, wodurch Fehler schnell behoben werden, und es schnell neue Features gibt.

C

C ist laut obiger Liste die populärste Programmiersprache, aber es ist nicht unbedingt diejenige, die am einfachsten zu lernen ist. Auch ist sie nicht unbedingt zeitgemäß, da sie im Gegensatz zu fast allen neueren Sprachen nicht objektorientiert ist. Nichtsdestotrotz ist C eine etablierte Sprache, die aufgrund ihrer Nähe zu Maschinencode auch schnelleren Code generiert, als viele andere Sprachen. Viele Bausteine aktueller Betriebssysteme sind daher immer noch in C geschrieben.
Im Gegensatz zu Java braucht man für C je nach Betriebssystem einen eigenen Compiler, der den Quellkod in Maschinencode übersetzt. Dafür lässt sich C in so manch anderer Sprache einbinden.

C++

C++ ist die objektorientierte Weiterentwicklung von C. Es ist eine echte Übermenge von C, dass heißt C Code ist auch gültiger C++ Code. Aber C++ hat zusätzliche Sprach-Features, wie z.B. Klassen und Objekte. Wie C ist auch C++ auf höchste Geschwindigkeiten ausgelegt. C++ gehört inzwischen zu den älteren Sprachen, die schon "abgehangen" sind. Aber alle drei Jahre wird eine neue Version veröffentlicht (nach C++17 gibt es C++20, dann C++23).

C#

C#, gesprochen wie das englische "see sharp", wurde um das Jahr 2000 von Microsoft entwickelt. Laut seinem Entwickler ist es nahe an C++, während ein Haupt-Entwickler von Java es als ähnlich Java, nur ohne Verlässlichkeit und Sicherheit, bezeichnete. C# wurde im Rahmen des .NET frameworks entwickelt, und mit diesem kann man Anwendungen schreiben.
Inzwischen gibt es mit dem .NET Core Framework die Möglichkeit, C# plattformübergreifend auf Windows, Mac OS und Linux zu benutzen.

PHP

PHP ist eine Programmiersprache, die hauptsächlich im Zusammenhang mit Webseiten zur Anwendung kommt. Viele Webseiten, z.B. solche, die auf Wordpress basieren, benutzen meist einen Apache Webserver, der PHP versteht. Mit PHP lassen sich unter anderem HTML Snippets einbinden oder eben auch nicht, so dass auch ohne JavaScript Dinge wie verschiedene hervorgehobene Menu-Punkte auf verschiedenen Unterseiten einfach realisiert werden können.
Während dies früher auch daher wichtig war, weil manche Browser JavaScript abgeschaltet hatten, ist heute ein abgeschaltetes JavaScript eher die Ausnahme. PHP wird immer noch viel benutzt, ist in unseren Augen aber eher auf dem absteigenden Ast.

SQL

SQL (gesprochen siequel) ist keine Programmiersprache im eigentlichen Sinne, sondern ein Datenbank-System. Es gibt verschiedene Datenbanken, die diesem Standard entsprechen, die wichtigsten sind wohl MySQL, SQLite, und PostgreSQL. Auch Datenbanken haben einen sehr wichtigen Beitrag zur Webseitenerstellung mit sogenannten Content Management Systemen (CMS) wie Wordpress, welches standardmäßig MySQL verwendet. Diese benutzen Datenbank-Systeme, um das Layout einer Webseite noch weiter vom Inhalt zu trennen. Der Inhalt der verschiedenen Unterseiten wird dann in der Datenbank gespeichert, und mit Hilfe von PHP geladen.
Wer jetzt mitgezählt hat, stellt fest, dass Wordpress mit HTML, CSS, JavaScript, PHP und MySQL ganze fünf Komponenten verwendet. Da dies zum größten Teil unsichtbar für den Benutzer erfolgt, ist Wordpress dennoch ein einfach zu nutzendes System. Das ist wohl auch der Grund dafür, dass über 30% aller Webseiten in Wordpress erstellt sind.

Scratch

Scratch ist anders als alle bisher vorgestellten Programmiersprachen, denn Scratch wurde speziell für Kinder entwickelt, die programmieren lernen wollen. Während andere Programmiersprachen text-lastig sind, ist Scratch eine graphische Programmiersprache. Das heisst, man zieht Programm-Elemente mit der Maus in sein Programm-Feld, und ändert dann nur einige voreingestellte Werte, z.B. wie oft eine Schleife durchlaufen werden soll.
Scratch ist sicher eine Bereicherung für die Programmierlandschaft, auch wenn man damit sicher keine kommerziellen Produkte erstellen wird. Für alle, deren Schwerpunkt auf dem Lernen, und nicht in der Möglichkeit, einen Programmierjob zu finden, liegt, ist Scratch eine echte Möglichkeit. Obwohl für Kinder entwickelt, gilt dies auch für Erwachsene, die komplett am Anfang der Programmiererfahrung stehen.

Mit welcher Programmiersprache soll ich anfangen?

Jetzt haben wir dir die populärsten und wichtigsten Programmiersprachen vorgestellt, und du fragst dich jetzt vielleicht, was du nun von alledem lernen sollst? Wenn du am Anfang deiner Programmierkarriere stehst, und noch nicht weisst, ob du für das Web, für Desktop oder für Mobilgeräte entwickeln willst, empfehlen wir dir, mit JavaScript als Programmiersprache zu starten. Du wirst dann auch etwas HTML und CSS lernen müssen, aber die Grundkenntnisse kann man sich in wenigen Stunden aneignen.
Dicht gefolgt wäre unsere nächste Empfehlung für Anfänger Python, da auch damit für die meisten gängigen Systeme programmiert werden kann, nur nicht für das Web. Dafür braucht man nur eine Sprache, die noch dazu einen leichten Einstieg erlaubt.
Andere Sprachen können je nach Aufgabenstellung interessant sein. Wer nur für Mobilgeräte programmieren will, sollte sich Kotlin und Swift für die native Programmierung ansehen, oder alternativ Dart & Flutter für die plattform-übergreifende Programmierung.
Wer hardware-nah programmieren will, ist nach wie vor mit C und C++ gut bedient. Und wer es einfach kinderleicht haben will, auch wenn man die Sprache dann nicht in der Industrie einsetzen kann, sollte sich Scratch ansehen.
Damit beenden wir diesen Artikel, und wünschen dir viel Spass mit der Programmiersprache deiner Wahl!