I feel like every time CPU speeds double, someone comes up with a Web UI framework that has twice as much indirection. With 20x slower compute, we might not have UIs that fire off an event and maybe trigger an asynchronous network request every time you type a character in a box, for example. Windows 95 could do a decently responsive desktop UI on an 80386. Coding was a lot less elegant in one way - C code that retur…
VB6 had intellisense. sure it was much less powerful than today's, but you had a project with a dozen classes, and when you typed the name of an instance variable and then hit ".", it would immediately show you a list of accessible members of the according class and update the preselected member as you started typing. This was absolutely immediate, on a 133mhz machine with 32mb RAM. Even on 66mhz it was still usable.…
How might software development have unfolded if CPU speeds were 20x slower?
111–120 of 161 posts
Re: How might software development have unfolded if CPU speeds were 20x slower?
#112I feel like every time CPU speeds double, someone comes up with a Web UI framework that has twice as much indirection. With 20x slower compute, we might not have UIs that fire off an event and maybe trigger an asynchronous network request every time you type a character in a box, for example. Windows 95 could do a decently responsive desktop UI on an 80386. Coding was a lot less elegant in one way - C code that retur…
I do wonder about this often. Are these new UI frameworks iterating upwards towards some unknown featureset archetype, where if given another 10-20 years, the designers will say "Okay, we've reached diminishing feature returns, let's pack it up and optimize" Or, are we simply re-inventing the wheel each time, where the set of features over the last few decades really haven't change that much or cycles through feature…
The problem space is much larger now than it used to be. 20 years ago, you didn't care about things like responsive design, accessibility, fractional scaling, even internationalization was basic/non-existent. There's a long tail of features (often extremely complex, like accessibility) which are not immediately obvious for an english speaker with normal vision staring at a standard sized display.
Re: How might software development have unfolded if CPU speeds were 20x slower?
#113Everything would be exactly the same, except 8.64years later. Moore's law show that CPU speeds double every 2years. 2years * log2(20) = 8.64years, so we'd just be 8.64years late, that's it, literally no reason for anything to be any different apart from that. 95% of comments seem to completely overlook this fact and go into deep explanations about how everything would be different. It's pretty surprising that even a…
But apparently you also didn't get the question - hardware would stay slow, but software would continue evolving, the question is how, given the hardware constraints. It would definitely not be "exactly the same, except 8.64years later".
Re: How might software development have unfolded if CPU speeds were 20x slower?
#114We'd still be using triple-DES to protect data, arguing that the NIST time to break it was still far out beyond. And hash functions would be like the CRC32 in TCP, not the modern stuff. CISC computers which did more in parallel per instruction would be common because they existed for concrete reasons: the settling time for things in a discrete logic system was high, you needed to try and do as much as possible inside…
Re: How might software development have unfolded if CPU speeds were 20x slower?
#115Earlier quoted context omitted.
Even modern cellphone chips a far more than 20x the speed of a 100Mhz 486 outside of extremely pathological workloads. At minimum we’re still talking 64 Bit chips. However, IMO simply thinking in terms of actual chips that existed isn’t that interesting. What would computing look like if the PIII was a 12 CPU at 500 MHz. That’s a little closer to 5% of modern chips and something nobody worked with. Alternatively what…
I can't buy into the idea of 486s but also SSDs. Why doesn't the speed limitation of CPUs extend to controllers, busses, SoC, transistor sizes, etc? If the 2GHZ CPU is now 10Mhz, then presumably the memory bus is no longer 100Mhz, but 5Mhz.
Similarly rather than NVMe 2TB SSD’s at 6000 MB/s we could have 2TB SSD’s at 300 MB/s. Which then opens the door for even more extreme differences.
If the “PIII was a 12 ^core^ CPU at 500 MHz” that’s quote odd by historic standards.
Re: How might software development have unfolded if CPU speeds were 20x slower?
#116One way to answer this question is to look at the software produced when clock speeds were 20x slower. The limitations, and features we had then are a minimum starting point. So I'm thinking around the era of a 486 100mhz machine. We'd have at least that (think mylti-player Doom and Quake era as a starting point.) We had Windows, preemptive multi threading, networks, internet, large hard drives, pretty much the base…
A 20x reduction really isn't that significant in a historical context. Gray beards here have seen CPU performance increase by 200x or more over their computing careers since the late 80s or early 90s. And that is ignoring multicore/SMP gains.
I found this nice figure trying to summarize CPU performance trends over many decades: https://www.researchgate.net/figure/CPU-performance-Historic...
Prognostication depends on other unstated assumptions about the market or fundamental technological limitations. Generally, I'd say that if the single CPU core trend was more flattened, we would have seen more emphasis on parallel methods including SIMD, multicore, and the kinds of GPGPU architecture we're already familiar with.
The kind of programming model that is at the heart of CUDA, OpenCL, etc is exactly what the high-performance numerical computing researchers were using back in the late 80s to early 90s when computers were much slower. They were simply applying it to exotic multi-socket SMP machines and networks of computers, rather than arrays of processors on a single massive chip.
Re: How might software development have unfolded if CPU speeds were 20x slower?
#117I feel like every time CPU speeds double, someone comes up with a Web UI framework that has twice as much indirection. With 20x slower compute, we might not have UIs that fire off an event and maybe trigger an asynchronous network request every time you type a character in a box, for example. Windows 95 could do a decently responsive desktop UI on an 80386. Coding was a lot less elegant in one way - C code that retur…
I saw a talk about tigerbeetle the other day - which is a small, fast database for handling financial transactions that apparenty runs orders of magnitude faster than Postgres. The database binary has no dependencies and compiles to 500kb. Its authors were joking they could distribute it on floppy disks if they wanted. It’s written in Zig, not C. But that style of programming is still available to us if we want it. E…
They're full KDE installs, and openSUSE 10.2 wasn't a lightweight distribution in its day. But now, even running in VMs, UI and network response are noticeablly snappy, and are sparing of resources by modern standards.
Re: How might software development have unfolded if CPU speeds were 20x slower?
#118Re: How might software development have unfolded if CPU speeds were 20x slower?
#119Earlier quoted context omitted.
Doesn't it make you the go-to person when something goes wrong, and someone has to debug it? My own experience from a time at a SpringBoot/iBATIS/Hibernate etc. shop (so server-side not UI side) is that it's all well and good running on "rocket fuel" as the consultants say, until something goes wrong. Then at some point you need the person who understands HTTP and SQL and other antique stuff to diagnose the problem,…
> Doesn't it make you the go-to person when something goes wrong, and someone has to debug it? Assuming anyone cares enough. Alternative approaches include, ignoring the problem, working around it, or changing business requirements so that the feature isn't available anymore. There are a lot of people in the industry that just throw up their hands at roadblocks they can't solve and say something is not technically po…
I have known a tech lead, one-self a java developer, who could not compile java code to class/ jar file that could be added to a docker layer in a pipeline.
Re: How might software development have unfolded if CPU speeds were 20x slower?
#120Everything would be exactly the same, except 8.64years later. Moore's law show that CPU speeds double every 2years. 2years * log2(20) = 8.64years, so we'd just be 8.64years late, that's it, literally no reason for anything to be any different apart from that. 95% of comments seem to completely overlook this fact and go into deep explanations about how everything would be different. It's pretty surprising that even a…
Arrogant and factually incorrect, a dangerous combination. But apparently you also didn't get the question - hardware would stay slow, but software would continue evolving, the question is how, given the hardware constraints. It would definitely not be "exactly the same, except 8.64years later".