Super Mario Bros shipped in 40KB. A bare React app ships more before you write a line of your own. What did they know that we forgot?
Stupidly easy answer: compatibility and visuals.
I recently did just that: I made a handheld physiotherapy game console base. The prototype ran on an Arduino Nano I had laying around. 32KB flash and 2KB RAM. That makes the 192kb ROM and 10kb RAM that Super Mario Bros has to work with look luxurous.
You fight for every bit on a platform like that but at the same time it's also really easy to do so. With that little available resources you can optimize almost perfectly because there is so little code.
That doesn't explain why a bare React app is larger than a finished Super Mario Bros. The answer is compatibility. SMB needs to run on exactly one platform with exactly one CPU, so it ships compiled.
React needs to run on a multitude of different browsers, so not only does it ship in source, but it also needs to ship hundreds of polyfils to work with different browsers. Not only that though, it needs to ship tons of features that any given app might need.
Which brings us to the next issue: content and visuals.
OOPs blog post formatted in ASCII contains 14.8kb in pure blog post text. At the level of performance these old games had, text was really expensive, which is why even RPGs of that time had very limited dialogue.
The NES had a resolution of 256x240px, or 637 kilopixel with less than 4bit color depth, which means a full screen image would take around 30kB (uncompressed). A full HD screen has 2 megapixel at 24-42bit color depth, so 6MB-10MB per full-screen image (uncompressed).
The 30kB would have been far to expensive on a NES, so in practice graphics were limited to a handful of small sprites moving over a background filled with repeating tiles. On the other hand it's very common to have large, high-quality images on a website.
Sure, you can still make websites with the same graphics as a NES game, but then it also will look like a NES game.
And we aren't even talking about animations, videos or anything like that at all.
TLDR: Yes, it's still possible to program like on NES. The catch is quite plainly visible to anyone who has spent more than 3 minutes programming:
- It will look like a NES game
- It will take inordinate amounts of time to optimize
- It will run on exatly the one machine you build it for
OP's point is... very uninformed.