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!t-online.de!newsfeed.freenet.de!news-in.ntli.net!newsrout1-win.ntli.net!ntli.net!news.highwinds-media.com!newspeer1-win.ntli.net!newsfe1-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> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Date: Tue, 23 May 2006 13:14:59 GMT NNTP-Posting-Host: 82.10.238.153 X-Trace: newsfe1-gui.ntli.net 1148390099 82.10.238.153 (Tue, 23 May 2006 14:14:59 BST) NNTP-Posting-Date: Tue, 23 May 2006 14:14:59 BST Organization: NTL Xref: g2news2.google.com comp.lang.ada:4364 comp.lang.fortran:10112 Date: 2006-05-23T13:14:59+00:00 List-Id: On Tue, 23 May 2006 11:40:27 +0000, Dan Nagle wrote: >> Concurrency has been in Ada since 1983! Moreover, it's a multi-tasking >> model, not concurrent statements model. Both models have benefits and >> drawbacks, it depends on the needs. > > Co-arrays are the main concurrency of f08. For a quick update, > the paper is at Rutherford-Appleton Labs, see > http://epubs.cclrc.ac.uk/bitstream/161/raltr-1998060.pdf I don't see that Ada concurrency and co-arrays have much relationship at all. In an Ada program, you can: Have several tasks performing computation Have other tasks controlling GUIs, monitoring progress etc. Have another task serving http requests etc. And tasks can be split between several (possibly heterogenous) machines in a network which may be added, fail or be removed. Can you do implement this kind of concurrency just using normal Fortran language features? Isn't this a bit more like MPI? 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. But technically, it is still real-time. The Fortran mind-set still seems very "batch-oriented". -- Adrian