From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c4cb2c432feebd9d X-Google-Thread: 1094ba,c4cb2c432feebd9d X-Google-Attributes: gid103376,gid1094ba,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!news-in.ntli.net!newsrout1-win.ntli.net!ntli.net!news.highwinds-media.com!newspeer1-win.ntli.net!newsfe3-gui.ntli.net.POSTED!53ab2750!not-for-mail From: "Dr. Adrian Wrigley" Subject: Re: Ada vs Fortran for scientific applications User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Message-ID: Newsgroups: comp.lang.ada,comp.lang.fortran References: <0ugu4e.4i7.ln@hunter.axlog.fr> <_iHcg.5599$oa3.1506@trnddc08> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Date: Tue, 23 May 2006 22:20:36 GMT NNTP-Posting-Host: 82.10.238.153 X-Trace: newsfe3-gui.ntli.net 1148422836 82.10.238.153 (Tue, 23 May 2006 23:20:36 BST) NNTP-Posting-Date: Tue, 23 May 2006 23:20:36 BST Organization: NTL Xref: g2news2.google.com comp.lang.ada:4392 comp.lang.fortran:10154 Date: 2006-05-23T22:20:36+00:00 List-Id: On Tue, 23 May 2006 17:07:06 +0000, Dan Nagle wrote: > Hello, > > Dr. Adrian Wrigley wrote: > > > >> Isn't this a bit more like MPI? > > Well, it's like MPI minus the rubbish. > >> In Ada, these concurrency features are very robust and streamlined. >> This is because tasking was a primary goal of the language design. >> >> For a typical Fortran application like weather forecasting, this > ^^^^ >> is exactly the architecture you might choose. It may be >> hardcore numerical code. > > I'm not sure which antecedent "this" references, > but the meteorological folks are one of the main > forces behind co-arrays. In a weather forecasting program you want to have data acquisition (real-time), prediction (computation) and display (real-time GUIs) running on a continuous, high uptime basis across a network of machines. If Fortran had strong multitasking, real-time and distributed capabilities, these goals would be reasonable and achievable within the language. Absence of these features means such systems would often (I guess) be multi-language setups, with things like Java, C++, Tcl/Tk, shell scripts, cron jobs etc. playing a part. Has anyone here worked on a big meteorological system? Am I right? Co-arrays fill a longstanding, unmet need in programming languages. Fortran, in particular, should have had this feature long ago. But the design/semantics are challenging to get something which is truly general-purpose, useful and understandable. Co-arrays would be great if they were widely available and performant. But they're not :( Designing a co-array system involves bridging the semantic gap between the software author, the compiler and the hardware architecture. The Co-array Fortran proposals seem to fill an existing need within the community, but I don't think make a good model to adopt in other languages. I did briefly work on more general ideas for language/hardware co-design using co-arrays and similar. Initial results were encouraging, but to make use of the technology, you really need a custom parallel processor built. And rewriting your software :( -- Adrian