3 ms·
It's most obvious with video, but that's not the only change. Thirty years ago you couldn't: * Run games that approach photorealism at 4K resolution *
by TheOtherHobbes 4y ago
It's most obvious with video, but that's not the only change. Thirty years ago you couldn't:
* Run games that approach photorealism at 4K resolution
* Emulate a recording studio with virtual instruments/FX in your laptop
* Watch video streamed at 4K
* Stream video from home and add live video FX
* Record and edit video at 4K using a pocket device
* Download files from a global communication network at hundreds of Mb/s
* Search that network and get results almost instantly
* Take usable speech recognition and automatic translation more or less for granted
The OP is poorly argued. Presumably they're trying to ask why software isn't 1000X better.
In some ways it is. Phone apps particularly are much more usable and intuitive than desktop apps from 1992.
In other ways, especially on the web, there's a lot of cruft floating on top of a sea of bloat. But there's a conscious tradeoff between abstraction/development time and runtime performance. The web would not suddenly become more usable if everything was written in machine code.
Elsewhere there's a lot of drag because of backward compatibility. Office is still a thing because nothing better has replaced it. It's ugly and stupid but it fills a niche that needs to be filled and - for all their efforts - FOSS isn't a realistic alternative for mainstream, professional use. This also applies to a lot of other industry-standard apps like Photoshop.
The limiting factor isn't CPU, it's the user. Most of these apps spend vast aeons of time in an idle loop waiting for the human to do something.
You'd need to invent new kinds of assistive apps to get around this, and we're beginning to see those with AI. But they'll be disruptors, not replacements, and it's not obvious how that's going to work out.
- MontyCarloHall 4y agoIn addition, the engineering skill required for writing basic desktop software is much lower than it used to be, while the skill required to write code for a game engine, audio/video processing, low-level network stacks, or any of the other problems on your list is just as high as it used to be, if not higher. Back in the day, anyone writing even a simple desktop app needed to know about algorithmic complexity and low-level optimizations, or their code would be intolerably slow (if it even ran at all). Today, if all you’re developing is a simple productivity app, high-level abstractions have eliminated the need for such low-level knowledge, dramatically lowering the barrier of entry for developers, at the expense of software efficiency. In other words, if the problem you’re solving is inherently easy, it is easy to write (inefficient but fast enough) code to solve it. This used to not be the case: even easy problems required difficult code to solve. However, all of the problems on your list are inherently difficult and complex, and thus still require difficult and complex code to solve. The barrier of entry for developers remains high, ensuring that those who work on said problems still have thorough knowledge of how to write performant code.