1
0
mirror of https://github.com/golang/go synced 2024-11-25 15:57:57 -07:00

a few fixups. delete the TODO block.

R=rsc
DELTA=23  (0 added, 20 deleted, 3 changed)
OCL=35330
CL=35330
This commit is contained in:
Rob Pike 2009-10-05 11:13:56 -07:00
parent c17dde2730
commit ff97fde26b

View File

@ -370,16 +370,16 @@ equality of structs and arrays should mean, it was simpler to leave it out for n
Why build concurrency on the ideas of CSP?</h3> Why build concurrency on the ideas of CSP?</h3>
<p> <p>
Concurrency and multi-threaded programming have a reputation Concurrency and multi-threaded programming have a reputation
for difficulty. We believe the problem is partly due to complex for difficulty. We believe the problem is due partly to complex
designs such as pthreads and partly to overemphasis on low-level details designs such as pthreads and partly to overemphasis on low-level details
such as mutexes, condition variables, and eve memory barriers. such as mutexes, condition variables, and even memory barriers.
Higher-level interfaces enable much simpler code, even if there are still Higher-level interfaces enable much simpler code, even if there are still
mutexes and such under the covers. mutexes and such under the covers.
</p> </p>
<p> <p>
One of the most successful models for providing high-level linguistic support One of the most successful models for providing high-level linguistic support
for concurrency comes from Hoare's Communicating Sequential Processes, or CSP. for concurrency comes from Hoare's Communicating Sequential Processes, or CSP.
Occam and Erlang are two commercial languages that stem from CSP. Occam and Erlang are two well known languages that stem from CSP.
Go's concurrency primitives derive from a different part of the family tree Go's concurrency primitives derive from a different part of the family tree
whose main contribution is the powerful notion of channels as first class objects. whose main contribution is the powerful notion of channels as first class objects.
</p> </p>
@ -425,23 +425,3 @@ The language does not preclude atomic map updates. When required, such
as when hosting an untrusted program, the implementation could interlock as when hosting an untrusted program, the implementation could interlock
map access. map access.
</p> </p>
<h3 id="TODO">
TODO</h3>
<p>TODO:</p>
<pre>
explain:
package design
slices
oo separate from storage (abstraction vs. implementation)
embedding?
dependency declarations in the language
oo questions
no data in interfaces
dynamic dispatch
make vs new
</pre>