aboutsummaryrefslogtreecommitdiff
path: root/chapter
diff options
context:
space:
mode:
Diffstat (limited to 'chapter')
-rw-r--r--chapter/4/dist-langs.md19
1 files changed, 18 insertions, 1 deletions
diff --git a/chapter/4/dist-langs.md b/chapter/4/dist-langs.md
index d268c3a..9f3a91a 100644
--- a/chapter/4/dist-langs.md
+++ b/chapter/4/dist-langs.md
@@ -8,10 +8,13 @@ by: "A Systems Person"
#### Actor / Object model
+The actor model has its roots in procedural programming.
+This model maps in a straighforward way to a distributed environment.
+
* Erlang
* Cloud Haskell (I know, right? Why?)
-#### Dataflow model
+#### Dataflow model (static and stream)
The dataflow model has its roots in functional programming.
Some languages that use this model are:
@@ -27,6 +30,20 @@ Some languages that use this model are:
* problem of tumultuous architecture
* "any gpl + library can act as a dsl" - mernik"
+#### Erlang vs C: A Tar and Feathering
+
+[citation erlang paper]
+
+Erlang has only one clear benefit over C, which is dynamic code upgrading.
+However, there are ways of making C behave in a similar fashion with minimal downtime.
+Shuffler [citation] is a system for continuous randomization of code.
+Using techniques discussed in the paper, one could dynamically replace sections of a binary.
+Another, slightly hack-ish workaround would be to receive the upgrade, serialize the current state, and finally run the new binary based on the serialized state.
+
+Other than dynamic code swapping and poor error detection, Erlang does not offer anything that is not offered by a traditional OS.
+Isolation, concurrency, and message passing can all be accomplished with unix-style system calls.
+Why is this language not considered redundant?
+
## References
{% bibliography --file dist-langs %}