
Am 02.11.2016 um 01:24 schrieb Richard A. O'Keefe:
The hope with FPLs was that you do not need to explicitly specify it anymore, because the compiler can manage that.
The Alan Perlis quote applies: When someone says: "I want a programming language in which I need only say what I wish done", give him a lollipop.
It does not really apply, the quote talks about how "say what one wishes one" turns into a programming language, albeit a higher-level one. We're talking about assigning memory to memory areas. That's a very different story, and one where other previously unthinkable features are applied by GHC today, such as efficient automatic memory reclamation, or elimination of intermediate data structures.
If the data need to be available in some other process, there is some sort of fairly explicit communication.
Which means that you do not have a simple function call anymore, but an extra API layer.
Here you have left me behind. WHAT was "a simple function call"? WHAT is "an extra API layer", as opposed to annotations like the distribution annotations in ZPL and HPFortran?
I wasn't aware of these annotations, so I was talking from the perspective how you'd do it in one of today's vanilla languages.
Plus, the more I read about various forms of partitioning computations (not just NUMA but also IPC and networking), the more it seems that hardware moves towards making the barriers higher, not lower (the reason being that this helps making computations within the barrier more efficient).
If that's a general trend, that's bad news for network, IPC, or NUMA transparency. Which is going to make programming for these harder, not easier :-(
On the one hand, agreed. On the other hand, while programming in the 1960s still *is* getting harder, it's not clear that we cannot find an approach that will be easier.
Agreed.