|
Progress in hardware allows software to build computationally costly abstractions to make devs more productive (for better or worse). While some use-cases definitely required improvements (e.g. deep learning became a thing thanks to powerful hardware), it is not clear that all software is better now that "RAM/CPU is cheap". For instance, IRC predates the World Wide Web, but desktop apps like Slack/Discord (that get shipped with a whole browser with ElectronJS) solve the exact same problem. Many websites are excessively heavy, "because they can", I guess mostly to "look better", and maybe to some extent because of ads/trackers. Modern developer tools require to download half the Internet regularly (e.g. node projects often come with 30 000 dependencies, apps get shipped with a whole rootfs in containers, or with an embedded chromium browser, etc). There is a ton of overhead everywhere, sometimes just because we can, sometimes because it's faster to market. So I was wondering: how do you think software would look today if hardware had stopped improving, say 10 or 20 years ago? Surely we would have end-to-end messaging apps and social networks, but maybe video-on-demand (e.g. Netflix) would be more limited, and we would not have TikTok? Maybe we would not need 5G to connect our fridges to our shoes? We would not have cryptocurrencies or NFTs. But that does not mean we would have stopped developing software. Or maybe said differently: what are "useless/cosmetic" improvements that happened in the last 10 or 20 years in software, and what are "real" ones? |
But imagine the same happening between 1992 and 2002. 10 years there meant fundamental incompatibility. A 486 computer with 8 MB RAM and VGA graphics card was already a paper weight in 2002. No Windows XP and Warcraft 3 for you. A Core i7-3970X with a GeForce GTX 680 can still play the latest games at 1080p, including many DirectX 12 games, except for the ones that now require AVX2.
But to answer your question if we would have been stuck with 1992 technology the internet would have evolved differently, and mainframes would play a much bigger role, to the point that your desktop computer would be just a thin client, running the latest amazing software accelerated by mainframe computers. You would submit jobs from your computer, the mainframe would calculate it and get back to you.