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=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,292c095d622af1d0 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.125.201 with SMTP id ms9mr8907911pbb.3.1336703887748; Thu, 10 May 2012 19:38:07 -0700 (PDT) Path: pr3ni12073pbb.0!nntp.google.com!news1.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!news2.euro.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail From: NatarovVI <4KCheshireCat@gmail.com> Newsgroups: comp.lang.ada Subject: Re: basic question on Ada tasks and running on different cores Date: Fri, 11 May 2012 02:38:05 +0000 (UTC) Organization: Aioe.org NNTP Server Message-ID: References: <30585369.219.1336470732142.JavaMail.geo-discussion-forums@ynbq3> NNTP-Posting-Host: 2IEQ0u9w7c/jjzhI2FNAqw.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Pan/0.135 (Tomorrow I'll Wake Up and Scald Myself with Tea; GIT 30dc37b master) X-Notice: Filtered by postfilter v. 0.8.2 X-Received-Bytes: 2636 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Date: 2012-05-11T02:38:05+00:00 List-Id: > I think you are confused by various research languages that are trying > to *automatically* make programs execute in parallel. It's not > surprising that these disappear, people have been trying to design these > since the 1960s (some of the research papers I read while in college - > in the 1970s - were ancient even then). > My personal opinion is that these "holy grail" languages will never > really work out. If a reasonably sensible solution existed, someone > would have found it in the last 50 years of looking. I'm sure some > progress will be made, but only by increasing non-determinism elsewhere > in the language -- which will make debugging (and thus the languages) > impractical. read existentialtypes.wordpress.com, or comments in their translation to russian. imperative programming and ephemeral data structures born as just "optimization trick" for executing true (fully parallel functional) programs (working with fully parallel persistent data) on cheap sequential hardware of the time. trick is do parallel actions sequentially in time, on one processor. another trick is work with ephemeral copies of parts of persistent data, again - sequentially in time. it's just this two tricks form all modern IT, form many artifacts. so. sure you can not easily deduce true, parallel, program from it's purposely sequential variant. projection on hardware. but if you think parallel from start, you CAN get automatic parallelisation (programm will work without modification on any hardware, any number of processors). you just can not do it in imperative, intertwined with dependencies, lobotomized manner. in functional languages - you can.