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,590b710e61b9ddf8 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.68.226.10 with SMTP id ro10mr11345929pbc.6.1329187530366; Mon, 13 Feb 2012 18:45:30 -0800 (PST) Path: wr5ni22370pbc.0!nntp.google.com!news2.google.com!postnews.google.com!k40g2000yqf.googlegroups.com!not-for-mail From: Phil Clayton Newsgroups: comp.lang.ada Subject: Re: Concurrency always is non-deterministic? Date: Mon, 13 Feb 2012 18:18:26 -0800 (PST) Organization: http://groups.google.com Message-ID: <6f19eaa9-c75f-4fca-86d4-bfaee2f51db7@k40g2000yqf.googlegroups.com> References: <3721724.784.1329154891821.JavaMail.geo-discussion-forums@pbcwt9> NNTP-Posting-Host: 2.24.35.98 Mime-Version: 1.0 X-Trace: posting.google.com 1329187527 22354 127.0.0.1 (14 Feb 2012 02:45:27 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 14 Feb 2012 02:45:27 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: k40g2000yqf.googlegroups.com; posting-host=2.24.35.98; posting-account=v7gx3AoAAABfjb9m5b7l_Lt2KVEgQBIe User-Agent: G2/1.0 X-Google-Web-Client: true X-Google-Header-Order: HUALENKRC X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0,gzip(gfe) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Date: 2012-02-13T18:18:26-08:00 List-Id: On Feb 13, 5:41=C2=A0pm, Long Ho=C3=A0ng =C4=90=C3=ACnh wrote: > The author of this post said so. The author's point is that non-determinism introduced by concurrency requires synchronization to make the overall program deterministic but this synchronization is difficult to get right (so why not use the Glasgow Haskell Compiler that takes care of all that for you...) > If Ada were non-deterministic at concurrency, I guess it couldn't be real= -time, right? If you wrote a concurrent program but left out the synchronization required to ensure deterministic behaviour, in general, the result would be so unpredictable that it doesn't make sense to ask whether it is still real-time. Synchronization support exists for many languages, e.g. via the pthreads library. In Ada, tasking (and its synchronization support) is actually part of the language which has numerous advantages. > http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency/ > > Please let me know your opinions about that post. I am a big proponent of functional programming and it does have advantages for parallelism. I find the discussion on parallelism vs concurrency nonsensical. I'm sure GHC will have some great new parallelism features though. The post should be seen in a certain software context: functional programming is unsuitable for systems that are any of: real-time, embedded or critical (I will happily expand on that claim) so any claims made by the author only extend so far. Phil