erlang code update, possible in C/C++?

Håkan Stenholm hakan.stenholm@REDACTED
Wed Nov 6 00:51:23 CET 2002


On tisdag, nov 5, 2002, at 20:49 Europe/Stockholm, Enric Jaen wrote:

> I am very interested in the Erlang code update
> capability. AFAIK from documents, Erlang uses dynamic
> linking to point processes to the new version of the
> module when they do a global call. The old and new
> versions can run concurrently.
>
> I am wondering if this same mechanism can be used with
> C/C++ programs, using dynamic libraries. If not, why?

Probably (loading of dynamic libs. is OS dependent) but you'll lose all 
the nice OTP support to handle code change properly and consistently - 
i.e. when a update is applied on a existing consumer system.
OTP is mostly useful to supply callbacks to different applications and 
databases in a well defined order, so simplifying the code change code 
needed to be written.

> and therefore, what is the added value than Erlang
> provides and that C/C++ don't have to update code?

The major difference is that each erlang module can be loaded (and 
unloaded), not just dynamic libs, this allows you to patch a test 
environment (real or simulated) while you are debugging a module 
without restarting the environment (which would be needed if the 
module/file was compiled statically).
In the case of the AXD301 I used to work on it took about 15 minutes to 
restart the simulated environment add to this that there might be need 
to recreate certain test parameters and debug traces.
A "l(module_name)." in the erl shell was usually enough to apply such a 
patch.

>
> I would appreciate any clue in this issue.
>
> Cheers,
> -Enric Jaen
>
> _______________________________________________________________
> Yahoo! Messenger
> Nueva versión: Webcam, voz, y mucho más ¡Gratis!
> Descárgalo ya desde http://messenger.yahoo.es
>




More information about the erlang-questions mailing list