Article View: comp.lang.misc
Article #5579Re: What makes a language "easy" to program in?
From: David Collier-Brown
Date: Fri, 03 Jun 1988 12:03
Date: Fri, 03 Jun 1988 12:03
54 lines
2479 bytes
2479 bytes
In article <FELDMARK.88May31160241@hanako.stars.flab.Fujitsu.JUNET> 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:
<declarations for two buffers, in and out>
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:
<declarations>
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"
Technical Details
Message-ID:
<2810@geac.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!yunexus!geac!davebReferences:
<FELDMARK.88May31160241@hanako.stars.flab.Fujitsu.JUNET>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!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: <FELDMARK.88May31160241@hanako.stars.flab.Fujitsu.JUNET> Reply-To: daveb@geac.UUCP (David Collier-Brown) Distribution: comp Organization: The Geac "Its Hard to Think Two Things at Once" Department Lines: 54