Node, Go, Java, C# or Elixir?

You want to make a Web application and you wonder what platform is best if one day you will have a large number of users...

We often see the post of a developer explaining why he abandoned the language X for Y and rewrote his web application, and the reverse is also true, another rewrites its application from Y to X. This rarely happens to local or mobile applications. The choice of a development language is more crucial on the web, which is why it seemed useful to perform this study on the different platforms in vogue, with the advantages and disadvantages of each, and for what kind of application they are suitable. This could help to avoid rewriting the code after several months of development ...

Node.js logo

Node

The Node environment takes advantage of the notability of JavaScript and the speed of the V8 interpreter from Google. It quickly becomes very popular and is an environment which generated the most open source projects. It is also controversial and that comes we do not always use it wisely.

What type of application?

Avantages

Disadvantages

What well-known sites use Node.js?

Langage Go, logo

Go

Language compiled into binary using a garbage collector. Backed by Google that created it for his own site, it tends to replace Python with a much higher execution speed and a syntax that is simple even if it is less natural. It was originally devised to Plan 9, an old project of operating system, by old Unix and C programmers, which explains its legacy syntax. Its philosophy of "Make less, afford more," led to a limited language with powerful features such as coroutines.

What type of application?

Avantages

Disadvantages

What well-known sites use it?

Logo de Java

Scala/Java

Scala runs on the JVM and reduces the code size, speed up production. It shares the Java API, so you can either program in Scala or Java and include modules written in either language.

What type of application?

Avantages

Disadvantages

What well-known sites use it?

Logo de Erlang

Elixir/Erlang

Erlang was designed by Ericsson specifically for programming the backend of big websites. It is used and developed for decades during which it has been enriched by all the techniques in this field. It uses the virtual machine BEAM which is thought to be less comprehensive than the JVM, but more effective in its own field.
Elixir is a language designed to replace Erlang on the same virtual machine with a more readable syntax inspired by Ruby.

What type of application?

Avantages

Disadvantages

What well-known sites use it?

CSharp logo

C# / .NET Core

Recent benchmarks have shown a speed improvement of twenty times compared to ASP.NET 4.6, what makes this new open source and cross-platform version of .NET another interesting candidate in this list. In fact a .NET Core backend is sometimes the quickest solution, it depends on the application.
C# can be interpreted or compiled to binary, and .NET supports many languages so the platform combines the advantages of Java and Go.

What type of application?

Avantages

Disadvantages

What well-known sites use it?

PHP CSharp logo

Version 8 brings a JIT (Just In Time) compiler and makes a significant gain in performance. It remains the least interesting language unless you want to have the broadest possible library. It has also the equivalent of Ruby on Rails with the Laravel framework.

What type of application?

Avantages

Disadvantages

What well-known sites use it?

Conclusion

You may see that the larger sites can use one of the five solutions without problems apparently. Sometimes they give up a platform for the benefit of another, and not always in favor of the same. This shows that the best platform mainly depends on the application that you want to build.

Note: Ruby on Rails is described in the page about Ruby, There are other platforms that I have not mentioned because of their drawbacks: scalability, slowness, hard to debug, unsafe..