Programmier-, Scripting- und Markup-Sprachen

Aus der Umfrage geht klar hervor, dass die verwendeten Sprachen, Frameworks und Plattformen von zentraler Bedeutung für die Entwickler/innen sind. Sie sind mit ausschlaggebend für Arbeitseifer, Zufriedenheit und Arbeitsplatzwahl (siehe Part 12). Folglich können Unternehmen profitieren, die diese Faktoren in die strategische Planung aufnehmen. Denn egal wie gut eine Geschäftsidee ist – durchstarten kann sie nur, wenn die Entwickler/innen mit der dahinterstehenden Technologie arbeiten möchten.

-->Relevante Daten als Online-Excel

Für den internationalen Vergleich bieten sich übrigens folgende Plattformen an:

-->Githut

-->Stack Overflow

-->Tiobe

Sprachen, die Entwickler/innen nutzen

In der Umfrage werden 125 Sprachen aufgeführt (unsere Vorgaben plus Ergänzungen der Teilnehmenden) – eine beeindruckende Vielfalt! Ob einige ergänzte Sprachen nicht eher als Standard oder Framework gelten, kann man diskutieren. Wichtiger aber ist die Einsicht, dass Entwickler/innen nicht einfach austauschbar sind. Selbst erfahrene Entwickler benötigen Zeit, um eine neue Sprache gut zu lernen.

Vorab noch ein Satz zum Selbstverständnis der Entwickler/innen: Kaum ein Coder wird sich als HTML-, CSS-, SQL- oder Shellscript-Entwickler bezeichnen. Jedoch viele werden sich als Java-, C#-, JavaScript-, Python- etc. Entwickler identifizieren.

In den Top 5 der verwendeten Sprachen finden wir 4, die von den meisten Entwicklern zusätzlich zu den Hauptsprachen wie Java, C# oder Python verwendet werden. 

Dazu gehören HTML, SQL, CSS und Bash/Shell-Scripting. Egal, ob ein Entwickler primär Java, C# oder PHP entwickelt, sobald das Web im Spiel ist, kommt er an HTML/CSS nicht vorbei. Das Gleiche gilt bei Datenbanken: SQL kommt fast immer zum Zug.

Was viele nicht wissen: Entwickler nutzen heute wieder viel mehr die Kommandozeile, sprich Shell. Dies vor allem, um Entwicklungsprozesse via Shell-Scripts zu automatisieren. Dementsprechend auch der erstaunlich hohe Anteil Script-schreibender Entwickler/innen. Fast alle Sprachen liefern Kommandozeilen-Werkzeuge und kaum eine stellt grafische Oberflächen für Entwickler bereit – klicken ist einfach langsamer.

Unerwähnt blieb bisher die letzte Top 5-Sprache: JavaScript. Einerseits ist sie eine Sprache, die verwendet werden ‚muss’, um in der heute führenden Web-Umgebung dem Browser Software bereitzustellen, andererseits ist es eine Sprache, deren Anhänger sie primär sowohl für Backend wie Frontend nutzen. Spannend ist, dass doppelt so viele Entwickler JavaScript nutzen wie etwa C# oder Python.

Wichtig

Wichtig bei dieser Liste ist nun, dass man die Zusatzsprachen je nach Fragestellung im Ranking weglässt. So sollte man Java nicht auf Platz 6 sehen, sondern auf Platz 2, direkt nach JavaScript. 

Wir sehen hier ein paar spannende Punkte:

  • JavaScript wird, bis auf Java, fast doppelt so viel verwendet wie andere Sprachen.
  • Java ist eine starke Kraft in der Schweiz wie auch international (45.3 % aller Stackoverflow Survey Teilnehmer nannten diese im 2018, im 2019 waren es noch 41.2 %). Die nächsten Jahre werden zeigen, wie und wohin sich dies verschiebt.
  • Während Python mit 41.7 % international knapp vor Java mit 41.1 % führt, ist es hierzuland noch nicht so weit.
  • Obwohl erst 2012 entstanden, nimmt TypeScript bereits einen hohen Rang ein. Das könnte damit zusammenhängen, dass es als Ersatz/Ergänzung von JavaScript fungiert. Dass JavaScript in der Umfrage hoch bei den zu ersetzenden Sprachen rangiert, untermauert diesen Gedanken.
  • Wenn auch umstritten, so ist PHP weiterhin vorne dabei. Mangels Vergleich können wir hier aber noch keine Trends für die Schweiz aufzeigen.
  • Neben TypeScript, als Ersatzsprache für JavaScript, rücken weitere Sprachen in ähnlicher Situation auf: So zum Beispiel Kotlin als Java-Ersatz für Android-Entwicklung oder das als C++ oder C-Alternative entwickelte Go, auf der Docker und Kubernetes basieren. Wobei Rust, eine neuere C++-Alternative, noch etwas schwach auf der Brust ist. Schliesslich das von Apple getriebene Swift, welches laut Statistik Objective-C bereits überholt hat. Beide werden vorwiegend für iOS App-Entwicklung verwendet.
  • Ebenfalls vertreten sind einige gern als «auslaufend wahrgenommene Sprachen wie VBA, Perl, Cobol oder Delphi.
  • Dazu kommen in der Schweiz beliebte Sprachen, die international kaum eine Rolle spielen, so etwa Haskell, F#, Delphi, Groovy, Matlab, Abap oder Cobol.
HTML 562
SQL 528
CSS 520
JavaScript 502
Bash/Shell 416
Java 397
TypeScript 241
Python 209
C# 197
PHP 137
C++ 91
C 85
Groovy 85
Kotlin 60
Go 45
VBA 42
Swift 41
Ruby 40
Perl 36
VB.NET 32
Objective-C 29
Matlab 28
Scala 24
Assembly 22
R 20
Abap 12
Cobol 9
WebAssembly 9
Elixir 8
F#* 7
SASS* 7
Haskell* 7
Delphi* 6
Elm* 6
Dart 5
Clojure 5
Rust 5

Mit * vermerkte Sprachen waren in unserer Liste nicht ursprünglich aufgeführt, sondern wurden von Teilnehmenden im Freitext-Feld zusätzlich angegeben. Einige Punkte haben wir korrigiert und summiert. So gehört PowerShell auch zu Shellscripting, was aufgrund unseres unnötigen Vermerks «Bash» zu Unklarheiten geführt haben könnte.

Fairerweise muss erwähnt werden, dass Sprachen mit einem * wahrscheinlich höhere Zahlen erreicht hätten, wären sie in der Vorauswahl bereits aufgeführt worden. Dies werden wir in Zukunft berücksichtigen (ca. 143 von 746 Teilnehmern haben bei dieser Frage eine zusätzliche Sprache erwähnt).

In den nächsten Wochen werden wir noch vieles dazu schreiben können, wenn wir die Nutzer/innen einzelner Sprachen vergleichen. So programmieren 68.8 % aller Java Entwickler/innen in ihrer Freizeit, bei Python Entwicklern sind es 76 %.

Als interessante Ergänzung haben zwei Entwickler die Sprache «Brainfuck» genannt. Diese Sprache gibt es wirklich und wurde sogar in der Schweiz im Jahre 1993 entwickelt. Diese Sprache ist aber nicht rein humoristisch, sondern kann wirklich zum besseren Verständnis von Softwareentwicklung genutzt werden.

Sprachen, die Entwickler/innen nutzen möchten

Welche Sprachen würde ein Entwickler gerne einsetzen, konnte es aber bisher nicht? Wiederum ein relevanter Punkt für Unternehmen, die Mitarbeitende suchen – technology matters!

Hier gibt es einen starken Kontrast zu effektiv genutzten Sprachen: Doppelt so viele Entwickler/innen möchten Go einsetzen, wie es bereits nutzen. Bei Rust sind es sogar fast 10-mal so viele. Kommen diese Sprachen also für ein Produkt in Frage, könnte ihr Einsatz dabei helfen, lernwillige Entwickler/innen anzuziehen.

Vergleichen wir die Wunschliste hier mit der Top 10 der eingesetzten Sprachen, so wiederholen sich nur Python, Kotlin, TypeScript, C++ und knapp JavaScript. Dies ist gerade bei C++ spannend, ist es doch eine der älteren und gemäss ihrem Ruf schwer zu beherrschenden Sprachen.

Java zum Beispiel will aber kaum jemand neu lernen. Sie liegt auf dem 22. Platz – noch hinter HTML. Falls es tatsächlich Entwickler/innen gibt, die noch nicht mit HTML arbeiten. 

Python 120
Kotlin 119
Go 111
WebAssembly 89
TypeScript 89
Rust 72
Swift 65
C++ 60
Scala 56
JavaScript 48
C# 45
Ruby 43
C 38
R 36
Bash/Shell 28
Elixir 28
SQL 25
Dart 25
Clojure 24
HTML 22
Groovy 22
Java 18
Matlab 17
CSS 16
Assembly 15
PHP 14
Objective-C 14
Haskell* 13
F#* 12
Perl 8
Elm* 7
VBA 7
VB.NET 6
Cobol 5

Mit * vermerkte Sprachen waren in unserer Liste nicht ursprünglich aufgeführt, sondern wurden von Teilnehmern im Freitext-Feld zusätzlich angegeben

Sprachen, die Entwickler/innen mögen

Bitte beachten: Das Wort ‚mögen’ ist nicht gleichzusetzen mit ‚beliebt’. ‚Beliebt’ könnte auch bedeuten ‚häufig eingesetzt’. Das Augenmerk liegt in diesem Abschnitt klar auf Sprachen, mit denen Entwickler/innen gerne programmieren. Wieder ein wichtiger Punkt für Unternehmen: Wird eine Sprache gemocht, fördert dies die Motivation am Arbeitsplatz.

  • Hier kann sich Java ein wenig erholen: Zwar wollen nur wenige, die Java noch nicht einsetzen, dies in Zukunft tun. Aber rund 70 %, die es nutzen, mögen es auch.
  • Python und TypeScript werden fast so häufig gemocht wie eingesetzt. Bei JavaScript ist es nur die Hälfte. Spannend wird es später, wenn wir die Aussagen aus der «mag ich nicht»-Frage dazu vergleichen.
  • C# hingegen wird von mehr Personen gemocht, als es eingesetzt wird. So wird klar, das sich die Zahlen nicht 1 : 1 auf die effektiven Nutzer/innen einer Sprache beziehen.
  • Spannend ist hier, dass doch relativ viele Entwickler/innen SQL mögen. 
SQL 314
HTML 298
Java 276
CSS 245
JavaScript 225
TypeScript 220
Python 207
C# 201
Bash/Shell 200
C++ 102
PHP 95
Kotlin 88
C 85
Go 72
Swift 64
Ruby 48
Groovy 45
Scala 42
Rust 40
Assembly 32
WebAssembly 29
R 27
Elixir 27
Matlab 26
Clojure 18
Objective-C 18
Perl 17
Haskell* 15
VB.NET 14
VBA 12
Dart 11
F#* 9
Abap 7
Smalltalk* 5
Elm* 5

Sprachen, die Entwickler/innen nicht mögen

Bei der Negativassoziation ist es wichtig, zwischen dem harten Kern effektiver Nutzer einer Sprache zu unterscheiden und Entwicklern, die etwas als «mag ich nicht» deklarieren. Unter Codern gibt es durchaus emotionale Gräben, wenn Entwickler/innen Sprachen nicht mögen, obwohl sie gar nicht damit arbeiten. Je nach Sprachkombinationen ist das vergleichbar mit Vorlieben für Fussballmannschaften, aber eben auch nicht immer.

  • Beispiel PHP: Von 196 «mag ich nicht»-Klickern nutzen es effektiv 36. Ähnlich bei Java, das 124 Entwickler/innen nicht mögen, aber gerade mal 36 Personen angeben, damit zu arbeiten (lustiger Zufall bei den Zahlen). Spannend dabei ist, dass von den 196, die PHP nicht mögen, 124 Entwickler/innen Java entwickeln. Sprich, Java-Entwickler scheinen überproportional gerne zu zeigen, dass sie PHP nicht mögen.
  • Zum Vergleich: Von 205 Personen, die JavaScript nicht mögen, nutzen es 128. Eine harte Einsicht, die durch den schnellen Aufstieg der Alternative/Ergänzungssprache TypeScript untermauert wird.
  • Objective-C wird weit häufiger abgelehnt als eingesetzt – vielleicht ein Grund für den schnellen Aufstieg von Swift bei der Entwicklung von Apps für iOS.
JavaScript 205
PHP 196
Java 124
CSS 113
VBA 113
VB.NET 97
C++ 89
Bash/Shell 85
C 85
Objective-C 66
C# 62
Python 60
Perl 59
SQL 55
Assembly 55
HTML 53
Ruby 44
Groovy 41
Matlab 38
TypeScript 36
Cobol 36
Abap 34
R 25
Swift 23
Scala 21
Go 19
Clojure 14
Dart 13
Kotlin 12
Rust 11
Elixir 9
WebAssembly 8

Sprachen, die Entwickler/innen einführen möchten

Bei der Frage nach neu einzuführenden Sprachen gibt es einen spannenden Unterschied zu den Sprachen, die Entwickler/innen gerne nutzen möchten. Das könnte darauf hindeuten, dass die Coder klar unterscheiden, ob sie etwas Neues einmal ausprobieren wollen oder ein Produkt wirklich für die Firma einführen möchten.

Auch hier liegen TypeScript und Python ganz vorne; interessanterweise aber auch das wenig geliebte JavaScript. Das an einigen Orten tatsächlich noch HTML eingeführt werden soll, lässt sich mit der fortgeschrittenen Existenz von Desktop-Applikationen erklären. Der hier geäusserte Wunsch, HTML einzuführen, dürfte wohl zu deren weiterer Verdrängung führen. Spannend wird es dann in der nächsten Frage, wie es um den Wunsch steht, HTML zu ersetzen.

Bei dieser Liste zu berücksichtigen ist, dass Entwickler/innen wahrscheinlich nicht Sprachen vorschlagen, die bereits in der Firma im Einsatz sind. 

Interessanterweise haben zwei Entwickler/innen angegeben, dass man Cobol einführen sollte.

TypeScript 88
Python 77
Kotlin 69
JavaScript 48
C# 46
HTML 43
Go 42
CSS 38
Java 37
SQL 33
Bash/Shell 32
Swift 30
Rust 30
WebAssembly 27
Scala 23
C++ 20
PHP 16
Ruby 15
R 13
C 12
Groovy 9
Clojure 8
Elixir 9
Assembly 7
VBA 5
Matlab 5
GLSL* 1
F#* 5
Dart 5

Sprachen, die Entwickler/innen ersetzen möchten

Nun die umgekehrte Frage: Welche Sprachen werden zwar eingesetzt, sollten aber ersetzt werden?

  • Erneut vorne dabei sind PHP, JavaScript und Java. Die Zahlen scheinen darauf hinzudeuten, dass die Emotionen beim Ersetzen höher schlagen als beim Einführen. Sprich, Hauptsache weg mit unbeliebten Sprachen oder solchen, die aus Entwicklersicht nicht passen.
  • Historisch bedingt tauchen hier wieder Sprachen auf, die sonst kaum erwähnt werden. Dazu gehören sicher VBA, VB.Net, Objective-C, Perl und Cobol. Erwähnen könnte man unter anderem auch C, C++ und Assembly. Jedoch tauchen diese auch häufig bei den neu einzusetzenden Sprachen auf.
  • Um die Frage aus dem vorhergehenden Abschnitt zu beantworten: HTML ersetzen möchten nur halb so viele wie es einführen.
PHP 122
JavaScript 100
Java 91
VBA 79
VB.NET 74
Objective-C 56
C 47
Perl 43
C++ 40
Bash/Shell 37
Cobol 42
SQL 32
CSS 30
C# 27
Ruby 22
Assembly 21
Abap 21
Groovy 19
Python 17
HTML 16
Matlab 16
R 14
TypeScript 11
Swift 9
Scala 9
Kotlin 6
Dart 6

Sprachen, die die Entwickler/innen behalten wollen

Der Vollständigkeit halber nun zu den Sprachen, die laut Entwickler/innen von Unternehmen weiter genutzt werden sollen, wenn diese bereits im Einsatz sind. Die Liste ist erstaunlich ähnlich wie diejenige der eingesetzten Sprachen.

Eine harte Überlegung ist aber hier, dass Entwickler, die eine Sprache nutzen, nicht konsequent sagen, dass man sie weiterhin nutzen sollte – so etwa bei Python, welche ja wirklich sehr beliebt zu sein scheint: Nur ca. 50 % der Entwickler/innen, die sie mögen, haben sie hier auch ausgewählt. 

HTML 297
CSS 258
SQL 256
JavaScript 242
Java 203
Bash/Shell 188
TypeScript 144
C# 117
Python 102
C++ 57
PHP 52
C 41
Kotlin 36
Swift 34
Go 30
Groovy 28
Ruby 27
Scala 15
Objective-C 12
Assembly 12
Rust 12
VB.NET 10
Matlab 8
Perl 7
R 7
VBA 6
Abap 6
Clojure 6
WebAssembly 5
Elixir 5

-->Inhaltsverzeichnis Detail anzeigen Detail verbergen