Programming-, Scripting- and Markup-Languages

The survey clearly shows that the languages, frameworks or platforms used are of central importance to the developers. They are one of the reasons for zeal, satisfaction and job choice (see Part 12). As a result, businesses can capitalize on this factor in strategic planning. Because no matter how good a business idea is - it will only come off the ground if developers want to work with the underlying technology.

>Relevant data online as Excel

Incidentally, the following platforms are available for international comparison:

>Githut

>Stack Overflow

>Tiobe

Software developers clearly state that it is important to them which language, framework or platform they can or must use. Therefore, it is absolutely important to consider this for new projects and to question it for existing solutions. A well-marketed technology that no software developer wants to touch won't get you far.

If there were some additions to the shortlist of languages in 2019, the list seems to be complete with relevant languages in 2020. No additional language mentioned made it past the 5 mentions mark. Just below that are Julia (4), Lisp (4), Awk (4), Tcl (4), and GraphQL (3). Even if we GraphQL currently looks like a promising technology, the distribution is probably not yet enough to make it into the 2021 shortlist.

Languages developers use

We start with languages that are used effectively. In 2020, we report 115 languages in the swiss developer survey (our specifications plus additions from the participants). Every language listed here was chosen by at least 5 study participants. That's 10 languages less than in 2019 - but still an impressive diversity.

As in the previous year, we emphasize a differentiated view and distinguish between "main" and "supplementary" languages. Practically all developers need the latter in their daily work (HTML, CSS, SQL or Shellscript), but they would never call them primary languages - quite in contrast to Java, C#, JavaScript or Python etc. languages.

This claim is well supported by the fact that supplementary languages have many more mentions, while the primary languages are mentioned less often, indicating specialization. Therefore, we first show the supplementary languages in a separate list:

2020   2019    
HTML 598 HTML 562
SQL 596 SQL 528
Shellscript** 567 CSS 520
CSS 522 JavaScript* 502
JavaScript* 493 Bash/Shell 416

The fact that Shellscript** gained so much ground here is probably due, among other things, to a clearer formulation compared to the previous year. In 2019, it was not immediately obvious to some developers that any form of shell script was meant.

JavaScript* is also an exception here, which may be considered both a "main" and "supplementary" language. This is because every web-related software project, which is almost all of them today, comes into contact with JavaScript. At the same time, there are more and more developers who use JavaScript in all areas, especially in the backend. Furthermore, more than twice as many developers use JavaScript than C#, PHP or Python. We do not include Typescript (superset of JavaScript) here, since 253 developers who use TypeScript also mention that they use JavaScript. So there is a clear distinction.

For the main languages, we arrive at the following ranking:

2020   2019  
JavaScript 493 JavaScript 502
Java 455 Java 397
TypeScript 298 TypeScript 241
Python 206 Python 209
C# 177 C# 197
PHP 130 PHP 137
C++ 92 C++ 91
Groovy 88 C 85
C 82 Groovy 85
Kotlin 58 Kotlin 60
Go 49 Go 45
VBA 46 VBA 42
Swift 43 Swift 41
Ruby 38 Ruby 40
Objective-C 33 Perl 36
Scala 29 VB.NET 32
R 25 Objective-C 29
VB.NET 20 Matlab 28
Perl 19 Scala 24
Matlab 18 Assembly 22
Assembly 16 R 20
Abap 13 Abap 12
Delphi 12 Cobol 9
WebAssembly 9 WebAssembly 9
Dart 8 Elixir 8
F# 7 F#* 7
Elixir 6 Haskell* 7
Rust 6 Delphi* 6
Cobol 5 Elm* 6
Elm 5 Dart 5
Smalltalk 5 Clojure 5
Fortran 5 Rust 5

If we compare the top 10 with the previous year, we see hardly any significant change. After that, there are some fluctuations, but due to the small number of mentions, these can also be attributed to shifts in participants.

We see a few exciting points here:

  • With the exception of Java, JavaScript is used almost twice as often as other languages.
  • Java continues to be a strong force in Switzerland as well as internationally. The next few years will show how and where this will shift.
  • While Python is already ahead of Java internationally, this has not happened here so far. In percentage terms, Python has actually dropped 1 percent from 2019 to 2020.
  • Although only created in 2012, TypeScript already ranks high and could even gain 4 percentage points compared to 2019.
  • Haskell, a language which was shortlisted in 2019 due to numerous requests, did not even make it past 5 mentions this year.
  • Although controversial in public discourse, PHP continues to lead the way with a slight downward trend of 2 percent.
  • In addition to TypeScript, as a "replacement language" for JavaScript, other similar languages are moving up, such as Kotlin as a Java replacement for Android development, or Go, developed as a C++ or C alternative, on which Docker and Kubernetes are based. 
  • Although Rust is fondly touted as an alternative to C++, we have yet to see a strong adaptation. This despite the fact that Rust ranks among the top 5 languages that developers would like to use (see below). 
  • Also represented are some languages that are often perceived as "phased out" such as VBA, Perl, Cobol or Delphi.
  • It is also clear that there are a number of languages that are important for the Swiss region, but which hardly play a role internationally. For example Haskell, Delphi, Groovy, Matlab, Abap or Cobol.

Languages from 2019 marked with * were not pre-listed in our list, but were additionally provided by participants in the free text field. There was no need for additions here this year. Our assumption from 2019 that these languages would be chosen more often if they were pre-selected did not materialize. Developers are thus disciplined in adding missing choices. 

 

Languages developers would like to use

The picture is different for the languages that developers would like to use. It looks as if this list does not yet seem to have any influence on the languages actually used. That is, companies do not seem to be adapting these "desired" languages, or only very slowly.

Perhaps this is an opportunity for companies to attract developers by focusing on Python, Kotlin, Go, TypeScript or Rust - especially if this then gives them the chance to learn about these technologies.

  • Compared to 2019, the number of languages that reached the 5 mention mark dropped by 6.
  • For comparison, on the far right, the ranking of languages used in 2020: So there is a chance to see an upward trend in newcomers Go, Kotlin and Rust in the next few years.
  • The low ranking of Java compared to its distribution is also astonishing. It could be argued here that hardly anyone "needs" to learn it again due to the already strong distribution. However, this thought can be refuted with TypeScript, Python or C#, since these are also widely used and established languages, which nevertheless inspire many developers.
  • The low ranking of PHP has a particularly harsh effect:  Despite continued strong distribution, hardly anyone wants to learn the formerly leading web development language for beginners today. This is probably because the frontend, and thus JavaScript, is becoming increasingly important on the Web. In addition, JavaScript can also be used in the backend. The language is therefore more powerful for beginners and nowadays also comparably easy to learn.

Would like to use 2020

Would like to use 2019 In use 2020
Python 143 Python 120 JavaScript 493
Kotlin 138 Kotlin 119 Java 455
Go 130 Go 111 TypeScript 298
TypeScript 119 WebAssembly 89 Python 206
Rust 105 TypeScript 89 C# 177
WebAssembly 93 Rust 72 PHP 130
Swift 58 Swift 65 C++ 92
C# 54 C++ 60 Groovy 88
JavaScript 44 Scala 56 C 82
C++ 43 JavaScript 48 Kotlin 58
Haskell 38 C# 45 Go 49
SQL 37 Ruby 43 VBA 46
Scala 36 C 38 Swift 43
Shell script 28 R 36 Ruby 38
CSS 26 Bash/Shell 28 Objective-C 33
R 25 Elixir 28 Scala 29
F# 25 SQL 25 R 25
Ruby 24 Dart 25 VB.NET 20
Dart 24 Clojure 24 Perl 19
Java 22 HTML 22 Matlab 18
C 22 Groovy 22 Assembly 16
HTML 21 Java 18 Abap 13
Clojure 21 Matlab 17 Delphi 12
Groovy 18 CSS 16 WebAssembly 9
Elixir 18 Assembly 15 Dart 8
Erlang 17 PHP 14 F# 7
Matlab 16 Objective-C 14 Elixir 6
PHP 14 Haskell* 13 Rust 6
Elm 14 F#* 12 Cobol 5
Assembly 13 Perl 8 Elm 5
Objective-C 8 Elm* 7 Smalltalk 5
Perl 5 VBA 7 Fortran 5
  VB.NET 6  
  Cobol 5  

Here, too, the languages marked with * are taken from the free text data for 2019, but, interestingly, are hardly relevant in 2020.

Languages developers like

Please note: The word "like" is not synonymous with "frequently used". The focus in this section is clearly on languages that are both used and liked.

Here again we see a good convergence between liked and frequently used languages. That is, languages that are often used usually also have a correspondingly higher appeal.

Once again Shellscript is ranked higher here, as the selection was formulated more comprehensibly in 2020.

Liked 2020

  Liked 2019   Used 2020  
SQL 413 SQL 314 HTML 598
HTML 385 HTML 298 SQL 596
Java 339 Java 276 Shell script 567
Shell script 309 CSS 245 CSS 522
TypeScript 280 JavaScript 225 JavaScript 493
CSS 268 TypeScript 220 Java 455
Python 252 Python 207 TypeScript 298
JavaScript 248 C# 201 Python 206
C# 197 Bash/Shell 200 C# 177
Kotlin 125 C++ 102 PHP 130
C++ 121 PHP 95 C++ 92
C 101 Kotlin 88 Groovy 88
PHP 92 C 85 C 82
Go 92 Go 72 Kotlin 58
Swift 60 Swift 64 Go 49
Rust 57 Ruby 48 VBA 46
Groovy 53 Groovy 45 Swift 43
Ruby 53 Scala 42 Ruby 38
WebAssembly 53 Rust 40 Objective-C 33
Scala 45 Assembly 32 Scala 29
Haskell 42 WebAssembly 29 R 25
R 30 R 27 VB.NET 20
F# 28 Elixir 27 Perl 19
Objective-C 26 Matlab 26 Matlab 18
Matlab 26 Clojure 18 Assembly 16
Assembly 25 Objective-C 18 Abap 13
Delphi 22 Perl 17 Delphi 12
Dart 21 Haskell* 15 WebAssembly 9
Clojure 20 VB.NET 14 Dart 8
Perl 19 VBA 12 F# 7
Elixir 17 Dart 11 Elixir 6
Elm 17 F#* 9 Rust 6
Erlang 16 Abap 7 Cobol 5
VB.NET 15 Smalltalk* 5 Elm 5
VBA 13 Elm* 5 Smalltalk 5
Smalltalk 13     Fortran 5
Abap 7        
Cobol 6        
Fortran 5        

What is not clear from the list is how many developers actually like the language they use. Accordingly, we have evaluated this for the top 6 main languages:

  In use Liked Not liked
JavaScript 493 210 (43%) 158 (32%)
Java 455 294 (65%)   60 (13%)
TypeScript 298 204 (68%)   18 (6%)
Python 206 141 (68%)   20 (10%)
C# 177 132 (75%)   11 (6%)
PHP 130   69 (53%)   34 (26%)

(The percentages above put "like" and "dislike" in relation to "use" - but only for people who  actually use that language. "Dislike" and "Like" are not coupled, so here both, neither, or only one may have been checked).

  • This shows that the top languages Java, TypeScript, Python and C# are also strongly liked by their developers - and will probably continue to be so in the foreseeable future.
  • JavaScript performs worst here in percentage terms - perhaps because many developers do not use it voluntarily, but only because of technological constraints (browser language). Accordingly, TypeScript as a superset and quasi as a "supplemented variant" of JavaScript would have a higher acceptance among its users, since its use is more voluntary. 
  • C# seems to have the highest level of satisfaction among its own users, with rejection matching that of TypeScript at a low level.
  • PHP is listed here because of its special status: This is because, compared to JavaScript, which is mostly used in a complementary way, software projects that use PHP are also primarily built on it. This means that there are a large number of developers who work on PHP projects, but have only limited fun with it - which is very important for efficient development.

Languages ​​developers don't like

In contrast to the table above, we do not show a comparison with the languages actually used.

Here we continue directly from the table above and show the complete list, without any link to usage. This means that all "I don't like" mentions made by developers who do not actively use the language are also listed here.

Compared to the previous year, significantly more languages were rated as "don't like". In 2019, there were 1,901 languages so marked. In 2020, there were 2,697. We cannot explain this discrepancy by the slightly higher number of participants or otherwise. 

And although JavaScript and PHP are at the top of the list here, we should consider the results of the last chapter: Because many developers rate languages with "don't like", although they don't use them at all. This can be considered a bad reputation, but it doesn't mean that developers who work with them don't enjoy them.

2020

  2019  
JavaScript 254 JavaScript 205
PHP 238 PHP 196
CSS 185 Java 124
Java 160 CSS 113
VBA 153 VBA 113
Shell script 135 VB.NET 97
HTML 112 C++ 89
C 108 Bash/Shell 85
C++ 101 C 85
VB.NET 97 Objective-C 66
SQL 82 C# 62
C# 77 Python 60
Perl 77 Perl 59
Groovy 74 SQL 55
Objective-C 71 Assembly 55
Python 69 HTML 53
Assembly 55 Ruby 44
Matlab 52 Groovy 41
TypeScript 48 Matlab 38
Ruby 43 TypeScript 36
Cobol 42 Cobol 36
Scala 40 Abap 34
Abap 39 R 25
Fortran 38 Swift 23
Delphi 32 Scala 21
Swift 31 Go 19
R 31 Clojure 14
Kotlin 28 Dart 13
Smalltalk 28 Kotlin 12
Haskell 24 Rust 11
Go 23 Elixir 9
Dart 22 WebAssembly 8
Clojure 22    
Rust 19    
F# 18    
Elm 18    
Erlang 18    
Elixir 17    
WebAssembly 16    

Languages ​​developers want to adopt

  • For this section keep in mind the difference between new languages to be introduced and languages that developers would like to use needs. This could indicate that the coders clearly distinguish whether they want to try something new once or or really want to introduce it for the company or a product.
  • Here TypeScript has made another big leap. This is followed by Kotlin and Python, which are fighting it out for third place. JavaScript, interestingly, is also still way up there.
  • What is very eye-catching is the rise of Golang, which is now in 4th place. So not only do developers want to use Golang, they strongly recommend companies to adopt it.
  • At the same time, C# has slipped down significantly, while Java has made up two places. It should be kept in mind here that fewer C# users participated this year. However, this also applies to Java.
  • It is also important to note that developers are unlikely to suggest languages that are already in use in the company.

Adopt 2020

  Adopt 2019   Like to use 2020  
TypeScript 149 TypeScript 88 Python 143
Kotlin 104 Python 77 Kotlin 138
Python 92 Kotlin 69 Go 130
Go 70 JavaScript 48 TypeScript 119
JavaScript 59 C# 46 Rust 105
Rust 55 HTML 43 WebAssembly 93
SQL 54 Go 42 Swift 58
Java 52 CSS 38 C# 54
WebAssembly 49 Java 37 JavaScript 44
CSS 46 SQL 33 C++ 43
HTML 45 Bash/Shell 32 Haskell 38
Shell script 45 Swift 30 SQL 37
C# 35 Rust 30 Scala 36
Swift 29 WebAssembly 27 Shell script 28
C++ 21 Scala 23 CSS 26
Scala 21 C++ 20 R 25
F# 18 PHP 16 F# 25
Dart 17 Ruby 15 Ruby 24
Groovy 16 R 13 Dart 24
Haskell 15 C 12 Java 22
R 13 Groovy 9 C 22
PHP 12 Clojure 8 HTML 21
Ruby 12 Elixir 9 Clojure 21
Clojure 10 Assembly 7 Groovy 18
Elm 8 VBA 5 Elixir 18
C 7 Matlab 5 Erlang 17
Elixir 7 F#* 5 Matlab 16
    Dart 5 PHP 14
        Elm 14
        Assembly 13
        Objective-C 8
        Perl 5

Languages developers want ​​to replace

Now the reverse question: Which languages are used but should be replaced?

  • Here, too, the participants were more diligent in their selection and cast more votes overall than last year.
  • However, the ranking does not change much. Only ShellScript moves up - which is again due to the aforementioned change in the survey description.
  • Groovy stands out here, with more than twice as many mentions for replacement this year. Perhaps this is related to the change in the Grails team, as Groovy is mainly used for this framework.
  • If we compare which languages are both introduced and gladly used anew and at the same time hardly replaced, Golang, Python and TypeScript certainly stand out. This is particularly noteworthy in the case of Python and TypeScript, since these languages are already well established.

2020

  2019  
PHP 155 PHP 122
JavaScript 146 JavaScript 100
Java 127 Java 91
VBA 99 VBA 79
Shell script 85 VB.NET 74
VB.NET 63 Objective-C 56
C 62 C 47
Objective-C 57 Perl 43
Perl 54 C++ 40
Groovy 48 Cobol 42
C++ 47 Bash/Shell 37
Cobol 50 SQL 32
CSS 42 CSS 30
SQL 34 C# 27
Ruby 30 Ruby 22
C# 28 Assembly 21
Delphi 27 Abap 21
Matlab 25 Groovy 19
Assembly 25 Python 17
Abap 25 HTML 16
Fortran 25 Matlab 16
Python 23 R 14
HTML 22 TypeScript 11
Scala 17 Swift 9
TypeScript 16 Scala 9
Smalltalk 16 Kotlin 6
Kotlin 13 Dart 6
Swift 8    
R 8    
F# 7    
Go 6    
WebAssembly 6    
Haskell 6    
Dart 6    
Erlang 6    
Clojure 5    

Languages ​​developers want to keep

For the sake of completeness, here are the languages that are already in use and, according to the developers, should continue to be used by companies.

Here, it is now necessary to consider which languages should be retained as often as replaced. In other words, do these camps balance each other out or is there a clear direction in which opinions are going?

PHP shows a clear trend towards "replace", which outweighs "keep". This is in contrast to JavaScript, which many more developers want to continue to build on than replace.

Keep 2020

  Keep 2019   Replace 2020  
HTML 387 HTML 297 PHP 155
SQL 385 CSS 258 JavaScript 146
CSS 305 SQL 256 Java 127
Shell script 277 JavaScript 242 VBA 99
Java 267 Java 203 Shell 85
JavaScript 227 Bash/Shell 188 VB.NET 63
TypeScript 152 TypeScript 144 C 62
Python 137 C# 117 Objective-C 57
C# 118 Python 102 Perl 54
C++ 71 C++ 57 Groovy 48
PHP 58 PHP 52 C++ 47
C 57 C 41 Cobol 50
Kotlin 34 Kotlin 36 CSS 42
Groovy 30 Swift 34 SQL 34
Swift 29 Go 30 Ruby 30
Go 27 Groovy 28 C# 28
Ruby 20 Ruby 27 Delphi 27
Assembly 18 Scala 15 Matlab 25
R 14 Objective-C 12 Assembly 25
Scala 13 Assembly 12 Abap 25
Objective-C 9 Rust 12 Fortran 25
Matlab 8 VB.NET 10 Python 23
Perl 5 Matlab 8 HTML 22
WebAssembly 5 Perl 7 Scala 17
F# 5 R 7 TypeScript 16
Erlang 5 VBA 6 Smalltalk 16
    Abap 6 Kotlin 13
    Clojure 6 Swift 8
        R 8
        F# 7
        Go 6
        WebAssembly 6
        Haskell 6
        Dart 6
        Erlang 6
        Clojure 5

>Table of contents show detail hide detail