Path: utzoo!yunexus!geac!daveb From: daveb@geac.UUCP (David Collier-Brown) Newsgroups: comp.lang.misc Subject: Re: What makes a language "easy" to program in? Summary: I don't know, and neither does Per Brinch Hansen (:-). Message-ID: <2810@geac.UUCP> Date: 3 Jun 88 12:03:50 GMT Article-I.D.: geac.2810 Posted: Fri Jun 3 08:03:50 1988 References:Reply-To: daveb@geac.UUCP (David Collier-Brown) Distribution: comp Organization: The Geac "Its Hard to Think Two Things at Once" Department Lines: 54 In article feldmark@hanako.stars.flab.Fujitsu.JUNET writes: >The other day I was having a discussion about "what I would put into a >parallel processing computer language, if I were designing one". We >were trying to quantify what makes certain programming languages "easy" >to program in. > >We were discussing general MIMD parallel processing, and I am a >consummate C programmer, but wouldn't dream of proposing a sequential >programming language that is "hacked" to provide parallelism. Well, Per Brinch Hansen (of "Monitors" fame, along with Tony Hoare) invented an interesting language some years ago for expressing programmer-visible parallellism in a somewhat "normal" notation... This was Edison, described in a special issue of SP&E, and a parallel buffer-copier looked something like the following: while (1) do out = in; cobegin 1 do read(in); also 2 do write(out); coend end As you can see, this allows two long-lived processes to rendesvous in a common critical section (the assignment statement) without tons of syntax. I infer the code generated from this was substantially more complex, something like: process_start(processor=1, process={read(in);}); process_start(processor=2, process={write(out);}); loop_label: wait_for(1); /* causes suspension */ wait_for(2); out = in; run(1); run(2); goto loop_label; exit_label: process_stop(processor=1); process_stop(processor=2); exit; --dave (its an interesting notation, and subtle) c-b -- David Collier-Brown. {mnetor yunexus utgpu}!geac!daveb Geac Computers Ltd., | "His Majesty made you a major 350 Steelcase Road, | because he believed you would Markham, Ontario. | know when not to obey his orders"