Live data from Hacker News

We’re approaching the limits of computer power – we need new programmers

theguardian.com

181–190 of 265 posts

Re: We’re approaching the limits of computer power – we need new programmers

#181
post #114

Earlier quoted context omitted.

Flutter looks promising for solving a lot of the platform conflict problems.

Except then you have to use Dart, or call into Dart from some other language. There are many people who dislike Dart or otherwise prefer to use other languages.

I really feel like Flutter would have taken off so much more if Google had just used Typescript instead of using it to push Dart.

Re: We’re approaching the limits of computer power – we need new programmers

#182
post #4

The renewed interest in C++ and other compiled languages is an indication of the need to get more efficient. Programmer skill will become more important in the future. But they won't be today's skills. I expect that programming in the future will be more about getting the AI to do what you want rather than writing code directly.

I’m already an AI you can pay to get a computer to do what you “want”; the problem is ‘what you want’ is so poorly specified, there’s no way to turn it into an actionable set of steps!

Other dev: "I wish I could just tell an AI to do $implementation for me", me: "You know what our boss just did?". ;-)

Re: We’re approaching the limits of computer power – we need new programmers

#183
“The only consequence of the powerful hardware I see,” wrote one, “is that programmers write more and more bloated software on it. They become lazier, because the hardware is fast they do not try to learn algorithms nor to optimize their code… this is crazy!”

This is remarkably accurate for games as well. Insurgency: Sandstorm for example. I was full of hope when I learned it was being developed in Unreal Engine which supports large scale combat much better than Insurgency's source engine. Unfortunately when it came out if performed much worse than its predecessor. Working with these engines has become so easy you don't really have to 'think' anymore and can just keep throwing stuff in.

Re: We’re approaching the limits of computer power – we need new programmers

#184
post #23

The major problem areas are those where it's economically "best" to do the computationally inefficient thing. The obvious example is the quick-to-build MVP, but many of the bigger problems come from platform conflicts. Because we have at least five different actively uncooperating operating system platforms, it's hard to build portable native apps - so people build electron apps instead. We also use the web browser a…

Electron anecdote : I joked with a coworker that they had left their "out of office" status icon on slack in order to work in peace.

Turns out that it was already removed but slack was still displaying it.

⌘ + R (refresh page shortcut) solved it.. Electron might help devs getting something out quickly but all these layers have a cost

Re: We’re approaching the limits of computer power – we need new programmers

#185

One of the best 2h practical course that I had was just write the fastest square matrix multiplication. You could use any language, any algorithm, just no libraries. The target was a 32 core CPU server (this was ~10 years ago). At 5000x5000 all the Java and Python attempts were running out of memory. In C, We tried some openmp, some optimized algorithm, but in the end the best trick was to flip one of the matrix so t…

Yeah, I wouldn't be surprised if the majority of code performing large matrix multiplications these days was written in Python and executed on GPUs by libraries like Tensorflow and PyTorch. With the right abstractions, programmers can be "lazy" and still get great performance.

The 'written in Python' you speak of is actually Fortran under the hood.

Re: We’re approaching the limits of computer power – we need new programmers

#186

I just don't buy this. I cut my teeth as a HPC programmer working with C and writing no-lock algorithms. There will always be a need for that, but realistically the vast majority of software being developed is simply not performance-critical. It's designed to work at human speed. Advances in language, compiler, and runtime implementations will continue to keep up with any growth in the need for performant application…

> It's designed to work at human speed. It would be great if most applications worked at human speed. Instead we have web applications taking 5 seconds to load what is basically 3 records from a small database.

> taking 5 seconds to load

I want to live in your alternate reality, because in ours anything under 45 seconds is a miracle.

Re: We’re approaching the limits of computer power – we need new programmers

#187

One of the best 2h practical course that I had was just write the fastest square matrix multiplication. You could use any language, any algorithm, just no libraries. The target was a 32 core CPU server (this was ~10 years ago). At 5000x5000 all the Java and Python attempts were running out of memory. In C, We tried some openmp, some optimized algorithm, but in the end the best trick was to flip one of the matrix so t…

A double array takes O(1) more space in Java vs. C, so running out of memory wouldn't be a problem.

Re: We’re approaching the limits of computer power – we need new programmers

#189

I just don't buy this. I cut my teeth as a HPC programmer working with C and writing no-lock algorithms. There will always be a need for that, but realistically the vast majority of software being developed is simply not performance-critical. It's designed to work at human speed. Advances in language, compiler, and runtime implementations will continue to keep up with any growth in the need for performant application…

> It's designed to work at human speed. It would be great if most applications worked at human speed. Instead we have web applications taking 5 seconds to load what is basically 3 records from a small database.

Most of these applications spend a few 100 millisecond loading the database records, and an additional 4.5 second loading the 20 different trackers + advertisements on their website.

Re: We’re approaching the limits of computer power – we need new programmers

#190
post #23

The major problem areas are those where it's economically "best" to do the computationally inefficient thing. The obvious example is the quick-to-build MVP, but many of the bigger problems come from platform conflicts. Because we have at least five different actively uncooperating operating system platforms, it's hard to build portable native apps - so people build electron apps instead. We also use the web browser a…

Electron anecdote : I joked with a coworker that they had left their "out of office" status icon on slack in order to work in peace. Turns out that it was already removed but slack was still displaying it. ⌘ + R (refresh page shortcut) solved it.. Electron might help devs getting something out quickly but all these layers have a cost

Client and server side state sync is a hard problem regardless of whether your app is native. A native app wouldn't automatically handle this.
Post reply on HN