this post was submitted on 14 Jun 2022
11 points (100.0% liked)
General Programming Discussion
7947 readers
29 users here now
A general programming discussion community.
Rules:
- Be civil.
- Please start discussions that spark conversation
Other communities
Systems
Functional Programming
Also related
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is very interesting, but also worth mentioning that this is a paper from 1978. I didn't check the date at first and got very excited when I read
thinking some new developments were happening today.
On this note: do we have a fairly good understanding of why none of these alternative systems took off?
Yes. Short-sightedness and externalities. I saw the same thing happen with things like stack machines. Here's the rough script:
This, too, is why your "ultramodern" CPU (whether x86, ARM, or increasingly RISC-V), complete with its out-of-order execution model and a whole myriad of other wonderous things under the hood, presents itself to you as a very fast PDP-11: because C was made for the PDP-11 and set the dominant programming model for half a century now. It's why processors made with hundreds of small, parallel cores (like the Greenarrays line was) don't catch on: they can't really be meaningfully programmed in the C mindset. It's part of why FPGAs are big box of blacklegging binary mystery bits instead of a normal way to enhance program performance. (The other part is that FPGA vendors are idiotically closed, though this is loosening finally.)
While we're stuck with the plodding Von Neumann (or related, like Harvard) approach to things, we're never going to see any real improvement any longer. Until one day we reach the hard limit of what these things can actually accomplish, no matter how much money is thrown at them, and we're forced to look into new ways of doing things.
I'll be long dead before that happens, unfortunately.
Best explanation/simplification ever!