[erlang-questions] Erlang Intro/Evangelism Presentation -- Starbucks!
Wed Mar 2 04:08:49 CET 2011
On 22/01/2011, at 5:59 AM, Michael Turner wrote:
> win. But when you're maintaining a large, sprawling, legacy system, you're
> not doing it in that system's (main) language because the language is
> popular -- I've even had to do maintenance in Fortran, a language that, as
> far as I can tell, was unpopular almost the day it was born. No, you're
> doing it because to do otherwise is either impossible or so awkward at the
> interfaces as to not be worth it, and/or because you're asking other
> programmers to learn and like the new language you choose even when it is
> possible to incrementally change the code base in the new language, and/or
> because to start rewriting the system from scratch is nowhere near an
> option, financially, for the profit-making (you hope) entity you work for.
There is more than one kind of maintenance.
If you are fixing mistakes, you probably need to fix them in the original
language. (Although it must be said that modern Fortran is quite a pleasant
modular language which has a lot to recommend it.)
If you are adding new features, it might be an excellent idea to use some
other language. For an Erlang example, the AXE-10 switch was programmed in
about a million lines of EriPascal. Once you get to that sort of size in
a language like that, every time you change one thing, you probably break
something else. So one bright person (whose name is on the tip of my tongue
but won't come off) came up with the idea of adding once and for all a
control stub and adding new features by programming them in Erlang and
sending control messages through the stub. The narrow coupling greatly
reduced the potential for introducing new bugs, so this was _better_ than
hacking in the original code base.
More information about the erlang-questions