Following Conway’s law:
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.
We are starting to get more serious about making programming more like the world actually seems to work. The Erlang programming language could have taught that a long time before, but finally even Microsoft is starting to unlearn the history of the past 50 years, and based on the ideas from the CCR and DSS runtime they released Axum. An unstable, but promising programming language experiment smelling like C# but able to transform the software world into a self-organizational, distributed, live, modifyable for everyone, schema evolution supporting, totally persistent, transaction safe, secure and mobile ecosystem.
Ok, I am exaggerating, but ignoring the ton of features we will need for future software, Axum is a start that may find its way to mainstream distributed programming.
One other example to approach the big, parallel elephant is Fortress. A new langage pushed forward by Sun fellow Guy Steele, but by consciously violating the Principle of least surprise in chapter 2.7 page 22 – “for loops are parallel by default”
for i 1 : 10 do print(i “ ”) end
may result in:
5 4 6 3 7 2 9 10 1 8
(WHAT, must be kidding…?) – the chance that Fortress moves into main stream programming approaches zero (sry, Guy, liked your ideas, but that’s nuts).
The requirement to handle parallelism transparently seems to turn out as an organizational problem and not a semantic one. Some algorithms may be an exception, but these are limited.
yours
armin