There is a Linux distribution called Gentoo, named after a type of penguin (of course it’s named after a penguin), where installing an app doesn’t mean that you download a working app. Instead, when you say “install this app”, it downloads the source code for that app and then compiles it on your computer. This apparently gives you the freedom to make changes to exactly how that app is built, even as it requires you to have a full set of build tools and compilers and linkers just to get a calculator. I think it’s clear that the world at large has decided that this is not the way to do things, as evidenced by how almost no other OSes take this approach — you download a compiled binary of an app and run it, no compiling involved — but it’s nice that it exists, so that the few people who really want to take this approach can choose to do so.
This sort of thing gets a lot of sneering from people who think that all Linux OSes are like that, that people who run Linux think that it’s about compiling your own kernels and using the Terminal all the time. Why would you want to do that sort of thing, you neckbeard, is the underlying message, and I largely agree with it; to me (and most people) it seems complicated and harder work for the end user, and mostly a waste of time — the small amount of power I get from being able to tweak how a thing is built is vastly outweighed by the annoyance of having to build it if I want it. Now, a Gentoo user doesn’t actually have to know anything about compilation and build tools, of course; it’s all handled quietly and seamlessly by the install command, and the compilers and linkers and build tools are run for you without you needing to understand. But it’s still a bunch of things that my computer has to do that I’m just not interested in it doing, and I imagine you feel the same.
So I find it disappointing that this is how half the web industry have decided to make websites these days.
We don’t give people a website any more: something that already works, just HTML and CSS and JavaScript ready to show them what they want. Instead, we give them the bits from which a website is made and then have them compile it.
Instead of an HTML page, you get some templates and some JSON data and some build tools, and then that compiler runs in your browser and assembles a website out of the component parts. That’s what a “framework” does… it builds the website, in real time, from separate machine-readable pieces, on the user’s computer, every time they visit the website. Just like Gentoo does when you install an app. Sure, you could make the case that the browser is always assembling a website from parts — HTML, CSS, some JS — but this is another step beyond that; we ship a bunch of stuff in a made-up framework and a set of build tools, the build tools assemble HTML and CSS and JavaScript, and then the browser still has to do its bit to build that into a website. Things that should be a long way from the user are now being done much closer to them. And why? “We’re layering optimizations upon optimizations in order to get the SPA-like pattern to fit every use case, and I’m not sure that it is, well, worth it.” says Tom MacWright.
Old joke: someone walks into a cheap-looking hotel and asks for a room. You’ll have to make your own bed, says the receptionist. The visitor agrees, and is told: you’ll find a hammer and nails behind the door.
What about the About page? That is just static text, surely that’s quicker? No, it is worse. (Of course, all the JS/CSS would be cached, but so to on mine, and you still don’t have to wait for JS to construct your HTML if you just give it HTML.) pic.twitter.com/Rxyz322ngt
— Matthew Somerville (@dracos) April 19, 2020
Almost all of us don’t want this for our native apps, and think it would be ridiculous; why have we decided that our users have to have it on their websites? Web developers: maybe stop insisting that your users compile your apps for you? Or admit that you’ll put them through an experience that you certainly don’t tolerate on your own desktops, where you expect to download an app, not to be forced to compile it every time you run it? You’re not neckbeards… you just demand that your users have to be. You’re neckbeard creators. You want to browse this website? Here’s a hammer and nails.
Unless you run Gentoo already, of course! In which case… compile away. 
Bruce Lawson. At home. responded at
Jonathan Beckett responded at
Seán Doherty responded at
Gamer Geek responded at
Luke Armstrong responded at
Petros Amiridis responded at
Simon Everest responded at
André Jaenisch responded at
Rob Connolly responded at
Rik Arends responded at
Ian Pouncey responded at
Niaccurshi responded at
Luke responded at
Stuart Langridge responded at
Tina Holmboe responded at
Al XP Home Edition 🦑🌹 responded at
Joshua Hoover responded at
Kristian Glass responded at
Joyce Park responded at
devolute responded at
Nicholas/Aquarion responded at
heapwolf responded at
Karan Ganesan responded at
Mahemoff @ 🏡 responded at
Romaric Pascal responded at
Sam Giles responded at
Tim Chase responded at
Marius Quabeck responded at
Dale Reardon responded at
вкαя∂εℓℓ responded at
RvLeshrac responded at
Craig Buckler responded at
Andrew Hedges responded at
ppk 🇪🇺 responded at
This Miss Molly responded at
Wolfram ⪡JS-- HTML++ CSS++⪢ Kriesing responded at
Simon Willison responded at
Baldur Bjarnason @baldur@toot.cafe responded at
Carlos Molina responded at
Ben Thorp responded at
Derek Pennycuff responded at
Christian Hammond responded at
Slippers Ex Machina responded at
Dr. Roy Schestowitz (罗伊) responded at
sheilaellen responded at
Olly Hodgson responded at
Bridget Stewart responded at
Etienne Posthumus responded at
Aaron Gustafson responded at
Bolaji Ayodeji responded at
Kevwe Ochuko responded at
𝕊𝕚𝕣 𝕊𝕒𝕣𝕒𝕙 responded at
Arlene Andrews responded at
Adactio Links responded at
jalbertbowdenii responded at
Kyle Pflug responded at
Tobias Schächtelin responded at
Damien Buckley responded at
Matt Derocher responded at
Maye Edwin responded at
AMD_ responded at
Michael Scharnagl responded at
Chris Heilmann responded at
Kim 🇪🇺️ responded at
Scott responded at