JavaScript Backend: The Full-Stack Tax
The Invoice — Episode 16 "One language for frontend and backend! Share code! One team! No context-switching!" Splendid. Let us examine what you are actually paying for. In 1995, Brendan Eich built ...

Source: DEV Community
The Invoice — Episode 16 "One language for frontend and backend! Share code! One team! No context-switching!" Splendid. Let us examine what you are actually paying for. In 1995, Brendan Eich built JavaScript in ten days. For form validation and image rollovers. Thirty years later, it runs production backends. The language has not changed. The expectations have. The Resource Invoice Express: 20,000 requests per second. Go: 40,000. Rust: 60,000. On Lambda, Node.js averages 20ms. Rust: 1.12ms. Eighteen times faster for the same work. The real cost is memory. Express idles at 30-50 MB. Go: 5-10 MB. Rust: 1-2 MB. V8's garbage collector runs whether you need it or not. When it pauses, your latency spikes. You are paying for the runtime, not your application. The Architecture Invoice One thread. That is your entire backend. Like a server in 1983. Every CPU-intensive operation blocks every other request. The fix is not fixing the runtime. The fix is containerisation. Cannot use multiple cores?