langwhy

Slot: server

The backend: requests, logic, APIs.

A product is a set of slots to fill: browser, server, database, deploy. A language fills some of them well, some badly, some not at all. A stack is one pick per slot.

browserserverdatabasesystemsmobilecliscriptsdatacomputeembeddedwasmconfiggames

Who fits

LanguageFitUsers held, 8 vCPU
Rust●●● strong130,000
C#●●● strongStack Overflow's 2016 web tier ran on ASP.NET MVC.
Elixir●●● strongDiscord's core services are written in Elixir.
Go●●● strong
Haskell●●● strongFacebook's Sigma rule engine runs in Haskell at more than one million requests per second.
Java●●● strongNetflix runs about 2,800 Java applications, mostly microservices.
PHP●●● strongWordPress and MediaWiki run on it.
Python●●● strongDjango and Flask are the common web frameworks.
Ruby●●● strongRails is the main framework; GitHub and Shopify run on it.
Bash●●○ ok
C●●○ ok
C++●●○ ok
JavaScript●●○ okNode.js runs it on servers; PayPal moved its consumer web apps to it in 2013.
Kotlin●●○ okSpring Boot supports Kotlin and requires Kotlin 2.2 or later.
TypeScript●●○ okRuns on Node.js after compilation.
Dart●○○ weak
Swift●○○ weakServer frameworks such as Vapor exist, but server use is small.
SQL○○○ noneSQL runs inside the database server; it is not a language for writing the server.

Users held: best entry per language in the multicore-server-challenge, the same API on the same 8 vCPU / 16 GB server with Postgres. A number says what hardware buys you, not which language is better.