<div dir="ltr"><div dir="ltr">On Mon, Oct 19, 2020 at 4:28 AM Jim Cownie <<a href="mailto:jcownie@gmail.com">jcownie@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">One more point, which may already have been made, but in case not…<br>
You are asking (my paraphrase…) <br>
* “Why hasn't MPI been replaced with something higher level?”<br>
* “Why hasn't Fortran been replaced with something higher level?”<br>
<br>
In that context, it seems worth pointing out that <br>
* Fortran is much higher level than it used to be (e.g. operation on whole arrays without needing loops was certainly not in FORTRAN IV or Fortran 77)<br>
* Since Fortran 2008, it has had support for the co-array features which mean that you can write distributed memory codes without (explicitly) using MPI, and with a syntax that looks like array indexing, rather than message passing.<br>
<br>
There’s a general educational issue here, which is that it is much easier for people to recognise that they need education to understand something if that thing is something they only just heard about, whereas even if it has many new features, if it’s something whose name they already know (and which they did a course in 15 years ago) then they think they already know all about it.<br>
Fortran clearly suffers from this, but so do C++, OpenMP, … <br><br></blockquote><div>Well, some of it surely comes from the fact that some of us (even older ;) never wanted to touch Fortran with a 10-foot pole, so having a "modern" fortran means nothing.</div><div>The other part is more paradigm - some new distributed computation systems rely on long-lived actors, for example, that have a "memory". Fortran would have a hard time replicating that and for the most part people who work with Fortran probably would have a hard time finding a use for such an approach anyway.</div><div><br></div><div>But yes, in general, I hear what you are saying. Just note that I consider myself to be from the old school as I walked into HPC in the late 1990s. I am not someone who graduated in 2017 and whose idea of parallel is Java's threads and whose idea of distributed is (only) Spark.<br></div></div></div>