diff options
| author | cnnrznn <cnnrznn@gmail.com> | 2016-11-16 14:27:18 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-16 14:27:18 -0500 |
| commit | 82620a042d98e2d3c1f2e87be17c87cd329ccca3 (patch) | |
| tree | 64498a1e6fed0bf109038e4081f819717b8b4770 /chapter | |
| parent | 1c840717b780fd00c486ddc810b39b7f27c1b222 (diff) | |
Update dist-langs.md
Diffstat (limited to 'chapter')
| -rw-r--r-- | chapter/4/dist-langs.md | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/chapter/4/dist-langs.md b/chapter/4/dist-langs.md index 8745be9..a097f51 100644 --- a/chapter/4/dist-langs.md +++ b/chapter/4/dist-langs.md @@ -32,18 +32,15 @@ Some languages that use this model are: #### 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. -A third way of circumventing this problem would be to encapsulate any code in a shared library, and have logic in the program to unmap the old code, replace the library, and remap. -This approach is analogous to Erlang's approach. - -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. +{% cite Armstrong2010 --file dist-langs %} + +Erlang offers nothing that is unavailable in C. + +For example, dynamic code swapping is one of Erlang's major selling points. +However, code swapping can easily be achieved in C with dynamic linking. +This approach is analogous to the example offered in the Erlang paper. + +Other selling points, such as isolation, concurrency, and message passing can all be accomplished with unix-style system calls. Why is this language not considered redundant? ## References |
