Code Podcast

2: Concurrency – CSP & Actors

Code Podcast

Multithreading is not the only approach we use to deal with concurrency. Single-purpose processes is our next frontier. Processes, that don't have shared state. To coordinate, they pass messages to each other. We can build complex concurrent systems using simple principles of CSP or Actors model. We break down programs into independent processes, each performing some specific job, talking to each other. How they talk to each is the point of contention here. That's where the differences between CSP and Actors arise. Host: Andrey Salomatin http://twitter.com/flpvsk Guests: - Aaron Schlesinger http://arschles.com/ - Jörgen Brandt http://www.joergen-brandt.de/ Sources: - CSP - “Communicating Sequential Processes” orignial paper by C. A. R. Hoare http://www.usingcsp.com/cspbook.pdf - Go - “Go in 5 minutes” screencast by Aaron https://www.youtube.com/channel/UC2GHqYE3fVJMncbrRd8AqcA - “Effective Go” https://golang.org/doc/effective_go.html - “Go Concurrency Patterns” talk by Rob Pike https://talks.golang.org/2012/concurrency.slide#1 - net.Context documentation: https://godoc.org/golang.org/x/net/context - WebSockets documentation: https://godoc.org/golang.org/x/net/websocket - Actors - “A Universal Modular Actor Formalism for Artificial Intelligence” original paper by Carl Hewitt; Peter Bishop; Richard Steiger http://worrydream.com/refs/Hewitt-ActorModel.pdf - Erlang - “Learn You Some Erlang for great good!” by Fred Hébert http://learnyousomeerlang.com/ - “Programming Erlang” by Joe Armstrong http://amzn.to/1UnfJpB Projects to check out: - Go - Docker https://github.com/docker/docker - “Awesome Go” – a curated list of awesome Go frameworks, libraries and software https://github.com/avelino/awesome-go - Parallelism - Cuneiform http://www.cuneiform-lang.org/ Music: Mid-Air! @mid_air ---------- PS: Links to Amazon are referral. You can use them to support the show.

Next Episodes

Code Podcast

1: Concurrency – Multithreading @ Code Podcast

📆 2016-02-04 23:27 / 00:23:44


Code Podcast

0: main() @ Code Podcast

📆 2016-01-24 18:05 / 00:01:07