Live data from Hacker News

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

theguardian.com

231–240 of 265 posts

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

#231
post #92

Earlier quoted context omitted.

except now it has actually been true for years. clock rates aren't increasing. advances in performance have been only from things that are tricky for developers to efficiently leverage (cache, simd, more cores). We need developers who understand these new low level details as much now as we needed that kind of developer in the past.

> except now it has actually been true for years Sure it is true. It isn't a tech journo writing a quick piece to get some clicks. I am quite cynical these days. There hasn't been any competition in the Desktop CPU space for years until 2019. Also clock rates haven't increased since the mid-2000s (there were 5ghz P4 chips). Clock rates being an indication of speed stopped being a thing back then when I could buy a "s…

> Sure it is true. It isn't a tech journo writing a quick piece to get some clicks. I am quite cynical these days.

It might be such a piece and it could still be true.

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

#232

Earlier quoted context omitted.

FYI, a fusion between prolog and haskell already exists: its called mercury. Its a statically compiled language with decent performance characteristics (at least, in its category).

Mercury was pretty good last I tried and a very interesting language at that; I like Prolog and did quite a lot of work in it in the 90s (mostly research). I like how clean it looks (that's from Prolog) and the performance is great due to the fact that you give quite a lot of info to the compiler when you are programming (see for instance [0]). It has many backends it compiles to (Java, .NET, Erlang, native; not sure…

As a general comment and talking about myself exclusively, it's a new kind of fatigue that I would call "oh look, another programming language".

There are quite a few very interesting and solid languages out there. One example for something that's not nearly well enough utilised or used widely is OCaml -- although in its case the lack of true multicore CPU support definitely cripples interest. But the language has an amazing type system that catches a _TON_ of errors (maybe even more than Rust's compiler, not entirely sure). And its compiler is just lightning-fast, fastest I've ever seen in fact. And it is multi-paradigm language (OOP and functional, and a lot of interesting typing constructs on top, half of which I don't even understand). Etc.

Not advocating for OCaml by the way (I work with Elixir and am looking to get better at Rust lately). It's just an example demonstrating that, again, there are a good amount of very solid languages and runtimes out there but we the programmers are so busy either (a) belonging to tribes or (b) being so damn busy we can't look beyond the tech we do our daily job with -- and then a lot of excellent tech gets left in the dust. :(

Mercury might be one of these tech pieces. And it's definitely not the only one.

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

#233

Usually poorly performant code needs optimisation through a change of approach or mindset. It is the way we are thinking about the problem that is lowering performance. Not necessarily the hardware itself. I've seen locking brought forward as a critical limit. Long discussions about new hardware and adding nodes and all sorts of expenditure required. We need a larger kubernetes. More GPUs! I've also been in the situa…

We have a good number of them indeed but nobody wants to pay them to fix most of the IT area. Ironic, right.

Or we can't get them past the HR hiring policies that eliminate all candidates. Been through that myself. I even got multiple tech leads to sit the testing and watched them fail. They were already on the team yet would not be able to get on the team. Absurd but true.

Contracting is such a strange world. I've drifted so far into it I've lost the ability to see how salary based people even get work. All I can do is keep the door open for as many people as possible. Sometimes I need to actually assert the door into existence. This was something I didn't know was possible until recently.

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

#234
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…

Don't forget the benefits of portability and the need to hire people as factors contributing to the use of higher level, generally less efficient languages: a few days back I read a description of C as a "hard to find skill these days".

Looking at the typical salaries in embedded, can't be that hard to find ...

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

#235

Earlier quoted context omitted.

Mercury was pretty good last I tried and a very interesting language at that; I like Prolog and did quite a lot of work in it in the 90s (mostly research). I like how clean it looks (that's from Prolog) and the performance is great due to the fact that you give quite a lot of info to the compiler when you are programming (see for instance [0]). It has many backends it compiles to (Java, .NET, Erlang, native; not sure…

As a general comment and talking about myself exclusively, it's a new kind of fatigue that I would call "oh look, another programming language". There are quite a few very interesting and solid languages out there. One example for something that's not nearly well enough utilised or used widely is OCaml -- although in its case the lack of true multicore CPU support definitely cripples interest. But the language has an…

Interestingly (and I did not know this) Mercury is actually one year older than OCaml. Both are fine languages that are underused/under-appreciated; OCaml did much better (PR wise so to say) than Mercury but both should have, imho, more market share.

Mercury came about as the OG was wondering about a mix between Haskell and Prolog.

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

#236

Earlier quoted context omitted.

> I challenge you to find a C “boot camp.” C isn't a language that lends itself to bootcamp-stye learning. With Javascript, you can get something on-screen in a few minutes, and even if you make mistakes, you will normally see something . It's a more forgiving environment. With C, a small error prevents compilation at all, and it's going to be a relatively long time before you're ready to progress past the "printing…

A bootcamp is about gathering the minimum knowledge necessary to be productive as quickly as possible. ...and that nicely sums up the problem with software today.

That's what the market wants. Too many buyers who don't care about what's under the hood

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

#237

It seems like there might be a pretty straight up tradeoff between difficulty of developing software and quantity of software produced. So the more we attempt to optimize at a lower level, the more time it takes to develop, and the less software someone can make and maintain. So, given that - would you rather lose 30-40% of the apps you use and like, but the rest are faster? Or keep using everything you have now? The…

We have cheap ubiquitous personal computers that can display streaming high definition video, with audio streams and subtitles, on a virtual screen inside a virtual reality - while multitasking and running other programs in the background. The hardware's plenty good enough for daily use.

The problem is that software practices have gotten so bad that a simple text messenger or email client uses at least as many resources as that program that's streaming HD video within a virtual reality, just to send or receive a few bytes of text now and then.

I'd be ok with losing 30-40% of the overbloated apps, because then they could be replaced with apps that don't need 2GB of dependencies to left-pad a string. We've really gone overboard on the "code reuse is great" and "don't reinvent the wheel" to the point that every program tries to include as much as possible of all code ever written and every wheel ever designed.

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

#238
post #31

Earlier quoted context omitted.

It’s critical for a lot of scientific and industrial applications. Too many things just can’t be done without a supercomputer.

I disagree. I did my masters' on computational fluid dynamics (CFD) and I'd say that a large fraction of supercomputer use (in fluid dynamics at least) is wasted. Mostly because people take naive approaches and end up computing the wrong thing, set up their simulation poorly, reinvent the wheel, use HPC on something that can be computed by hand, etc. If they read more of the literature they'd have a more solid grasp…

This may be true for some fields, but it's certainly not true for all fields. I'd be surprised if there are still orders-of-magnitude improvements to be discovered for BLAST, for example, and that's a foundational component of modern biology.

I should have spoken more generally to OP's point though. What I was really hoping to get at is that there are applications other than games that require non-trivial amounts of compute, and speeding them up would make meaningful differences in their users' lives.

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

#239

We're mostly fighting Murphy's Law, not Moore's law. As said below, most problems are so far from being compute/$ or otherwise technically limited and far more about organizational / political issues putting vast inefficiencies into these systems and priorities that fund their creation.

Definitely. Honestly, I'd be excited if hardware stopped progressing. Ever-better hardware and ever-shifting platforms cover up a multitude of organizational sins. There's much less incentive to write good code given the rate at which code gets thrown out, and given what people are willing to spend on their AWS bills before asking if something could perhaps be improved.

Yep, agreed. But to be fair, hardware will stop progressing pretty soon IMO. PCIe 4.0 backbone is quite strong and a lot of companies, when buying workstations or servers based on it, won't move on from it for quite a while. Or so I hope.

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

#240

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.

Unfortunately big-O algorithmic analysis doesn't translate cleanly to the real world due to constants and other inefficiencies.
Post reply on HN