Carlos A. Varela
2013
https://mitpress.mit.edu/9780262018982/programming-distribut...
- CSP is more flexible than actor model: In actor model, the medium of communication is tightly coupled to the unit of execution: each actor has precisely one mailbox; In CSP, channels are first class and can be independently created, written to, read from, and passed between tasks.
- Nothing stops CSP from supporting distribution and fault tolerance, but historically CSP has not had the same level of focus and support of the two as actor model does.
- Both actor model and CSP do not directly support parallelism. Parallelism has to be created based on concurrency building blocks.
I was wondering if the two concurrency models can be compared in terms of some metrics (some measurement, quantities, ...) in aspects either mentioned above or not. (Butcher's book doesn't mention such metrics. I also tried but haven't found it in Varela's Programming Distributed Computing Systems.)
If concurrency models can not be compared in metrics, how can they be compared?
I am looking for some metrics to fit into the comparison between the concurrency models. Also for books, papers and articles for comparing them.
Thanks.
I got into this stuff in early high-school, and those were just "intro to C++" books.
The book that kind of changed my life (and a bunch of other people's as well) is one I bought when I was 19 called "Structure and Interpretation of Computer Programs" (SICP for short). It's a bit heavy, but if you know the basics of programming it's not too difficult. This book really teaches you a lot of fundamentals of software, and to me is the must-have book in compsci, and it's available for free of MIT's website.
Then I just went on ebay and looked up "discrete math textbooks" and "discrete structures textbooks", and bought a few of the cheaper ones.
Then I started finding individual topics that interested me, which largely dealt with distributed computing, weird abstract math, and video processing. For that, I bought the book "Programming Distributed Computing Systems" by Varela, "Certified Programming with Dependent Types" by Chlipala, and random books on Fourier Transforms from eBay.
This is over the course of a few years, and it was intermixed with about a million different blogs and tutorials to get me better. I've found if you stick with the more "theory-heavy" languages like Coq, Idris, or Haskell, you end up picking up a lot more of the compsci concepts that you might learn in school, just because there aren't a million people constantly yelling "OMG YOU DON'T NEED MATH FOR <insert language here>".