langwhy

Slot: browser

Code that runs in the user's browser.

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

LanguageFit
JavaScript●●● strongUsed on the client side by 98.9 % of websites.
TypeScript●●● strongCompiles to JavaScript, so it runs wherever JavaScript does.
C#●○○ weakBlazor runs C# in the browser through WebAssembly, but JavaScript is the default.
Dart●○○ weakCompiles to JavaScript; Chrome never shipped the Dart VM.
Elixir●○○ weakBrowsers still run JavaScript; Elixir sends updates to the page from the server.
Rust○○○ noneOnly through WebAssembly, not as a browser language.
C○○○ noneOnly through WebAssembly, not as a browser language.
C++○○○ noneChrome's JavaScript engine is C++, but pages reach C++ only through WebAssembly.
Go○○○ noneCompiles to WebAssembly, but is not a browser language.
Java○○○ noneApplets ran as browser plugins, and no major browser runs them now.
Lua○○○ none
PHP○○○ noneOnly the HTML that PHP produces reaches the browser, never the code.
Python○○○ noneBrowsers run JavaScript, not Python.
Ruby○○○ noneThe browser never runs Ruby; Rails sends HTML and JavaScript to it.
Swift○○○ noneNot a web page language.
Zig○○○ noneCompiles to WebAssembly, but is not a browser language.