diff options
| author | cnnrznn <cnnrznn@gmail.com> | 2016-11-16 13:51:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-16 13:51:13 -0500 |
| commit | 1818c8eabf2cb1c65019bafd57198eaade8af9c0 (patch) | |
| tree | f1bde19b88eb6efc7213ea1f25e52f64f0591003 /chapter | |
| parent | f832573aad966fa9f600f1707eb709f7e89814c3 (diff) | |
Update dist-langs.md
Diffstat (limited to 'chapter')
| -rw-r--r-- | chapter/4/dist-langs.md | 19 |
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 %} |
