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!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: =?ISO-8859-1?Q?Jan_Vorbr=FCggen?= Newsgroups: comp.lang.ada,comp.lang.fortran Subject: Re: Ada vs Fortran for scientific applications Date: Tue, 23 May 2006 10:56:03 +0200 Organization: MediaSec Technologies GmbH Message-ID: <4dg101F17acafU1@individual.net> References: <44715DED.5050906@cits1.stanford.edu> <4dd87pF18ot14U1@individual.net> <447207D6.3010408@cits1.stanford.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net m2E37uHt9LFm/dXJKGfLdAjeZr7S0ESg9iN1W502LpW9qLtCdN User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: de-DE, de, en-us, en In-Reply-To: <447207D6.3010408@cits1.stanford.edu> Xref: g2news2.google.com comp.lang.ada:4359 comp.lang.fortran:10107 Date: 2006-05-23T10:56:03+02:00 List-Id: > I should note, though, that I'm drawing the syntax/semantics line way > over on the side of semantics. For instance, I consider complex > arithmetic and multidimensional arrays to be essentially syntax -- one > can trivially write code longhand to produce the same functionality. > It's just awfully inefficient syntax. No, that assumption is incorrect. To take complex arithmetic as an example: If I have a native complex type, the language implementor is free to arrange the real and imaginary part in memory as he sees fit, perhaps even using different arrangements in different situations. She can easily make use of other pieces of information, for instance that one of the parts is zero or one, to simplify an arithmetic expression (think of constant propagation and elimination of common subexpressions). If you do not have the semantics available, you are forced into a particular implementation that will likely by suboptimal in all but a set of measure 0 8-). This is very similar to using a non-SEQUENCE derived type versus a C structure: The _programmer_ may assume _less_ about what is going on under the hood, has to specify less details, and therefore the implementor has more freedom to select a (we hope) optimal solution. > On the other hand, I suspect that my view is colored pretty heavily from > not having a lot of parallel-processing experience, and that semantics > aren't anywhere near a most-of-the-top-languages-are-equivalent ceiling > there. Thus, I should probably limit my above claims to single-threaded > programs -- which I recognize is a significant limitation. That is one of the clear distinctions for defining semantics of language, and I agree you'll see a large difference in such cases. Nonetheless, even for a single-threaded programme, there will be distinctions - see above. Jan