Live data from Hacker News

How might software development have unfolded if CPU speeds were 20x slower?

news.ycombinator.com

81–90 of 161 posts

Re: How might software development have unfolded if CPU speeds were 20x slower?

#82
post #48
post #13

I'm not sure I understand the premise, because CPU speeds were 20x slower. Just go back a decade or two. They weren't some halcyon days of bug-free software back then, quite the opposite.

Just go 9 years back actually. Computers were 20x slower 9 years ago according to Moore's law

Moore's law doesn't say anything about the growth rate of performance vs time.

Re: How might software development have unfolded if CPU speeds were 20x slower?

#83

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…

Jevon's Paradox applied to compute https://en.m.wikipedia.org/wiki/Jevons_paradox

And its called Wirth's law: "What Andy [Grove] gives, Bill [Gates] takes away".

https://en.wikipedia.org/wiki/Wirth%27s_law

Re: How might software development have unfolded if CPU speeds were 20x slower?

#84

Earlier quoted context omitted.

You're right. QT is a good choice if you are willing to work within the bounds of the framework. QT is definitely not a good choice if you want to make a lot of customizations. If you want to make an app like Spotify, don't use QT.

Why exactly? With QML it’s incredibly easy to creat custom, animated and complex UIs. Also, if I remember correctly there was a time when Spotify was written in Qt.

When you write your own UI, you get used to quickly + easily being able to create custom elements that do/behave exactly as you want and even iterate on those elements to get the best user experience.

Lets say I want to control pan/tilt/zoom/focus/aperture/etc of a remote camera. If I ask lets say an expert in UI framework Z to do it, it will take them 10x longer to create a very painful experience using standard elements with poor input latency, so someone actually trying to setup a camera over/under shoots everything, but it technically "ticks every box". The path to create a better experience just isn't really there and it is difficult to undo/change all the boilerplate/structure, so version 1 isn't improved for years because it took so long to create the first iteration.

Re: How might software development have unfolded if CPU speeds were 20x slower?

#85
post #36

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…

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…

> Honestly I’m really tempted to try to throw together a 90s style fantasy desktop environment and widget library and make some apps for it. There’s something about that era of computing that feels great.

If you're interested in that, you should definitely check out Serenity OS!

Re: How might software development have unfolded if CPU speeds were 20x slower?

#86

Earlier quoted context omitted.

Why exactly? With QML it’s incredibly easy to creat custom, animated and complex UIs. Also, if I remember correctly there was a time when Spotify was written in Qt.

When you write your own UI, you get used to quickly + easily being able to create custom elements that do/behave exactly as you want and even iterate on those elements to get the best user experience. Lets say I want to control pan/tilt/zoom/focus/aperture/etc of a remote camera. If I ask lets say an expert in UI framework Z to do it, it will take them 10x longer to create a very painful experience using standard ele…

Sounds like a very specific example. But I'm still unconvinced - what will make this particular UI slow using Qt? The camera view? My Qt note-taking app is faster and more responsive than native apps like Apple Notes and best-in-class Bike Outliner. Both in loading speed (4x) and resizing (with word-wrapping) of a large text file (War and Peace).

Re: How might software development have unfolded if CPU speeds were 20x slower?

#87
That’s not a hypothetical, is it? Given Moore’s Law, just look back a decade or so and you’ll get a sense of what software development was like when CPU speeds were 20x slower. And if you take it even further, looking back six decades or so, you’ll see things like the Story of Mel that would never happen in software development today.

Re: How might software development have unfolded if CPU speeds were 20x slower?

#88
Maybe software would have been more efficient to do the same, and software developers would still begin with an understanding of hardware and what's happening at a lower level (Assembly) before sending it instructions in an interpreted language.

The sharding of the developer has made things more inefficient in some ways.

Re: How might software development have unfolded if CPU speeds were 20x slower?

#89

Earlier quoted context omitted.

> I would draw everything myself. I wouldn't be too fast to recommend this. I have quite a lot of experience with Qt[1], and I manged to get a good look and feel across different operating systems. Yes, you'll need to customize Qt Quick components yourself. But that's easy. Also, Qt is improving its support for native components, they now support native dialogs and file pickers in Qt Quick[2]. Another important thing…

You're right. QT is a good choice if you are willing to work within the bounds of the framework. QT is definitely not a good choice if you want to make a lot of customizations. If you want to make an app like Spotify, don't use QT.

Spotify just uses electron, if you want your app to look like an electron app, use that. I think it's hideous.
Post reply on HN