While research on functional programming dates back to the 1960s, functional
programming languages have not made much impact on industrial programming. The
reasons for this are sometimes subject to vivid debate in forums like the
comp.lang.functional news group, and papers have been written to try to explain the
phenomenon. Philip Wadler lists Erlang as one of the few functional languages
that can actually be found in significant industrial products. This paper describes the
development of one such product: the Ericsson AXD 301 ATM multi-service switch.
I think Erlang is one of the more interesting languages around. The supporting tools are also very impressive.
This paper shows off an
impressive product: a fully-functional ATM switch, with downtime less
that 5 minutes per year. All components including the backplane switch
is hot-swappable, all software is upgradeable without the need to
reboot the switch. All connections are mirrored and load-balanced. It
gracefully degrades under overload. The paper then makes the case how
Erlang has helped the development of the switch, and gives some specific examples.
A paper and talk about the Metcast system provide an interesting reference point.
There is some similarity to the Ericcson paper: the Ericcson's switch
project and the Metcast were developed in three years, and had become
operational. Both projects benefitted from functional languages. Both
papers describe why functional languages proved to be so good in the
industrial setting. There are some differences between the projects: 2
million lines of code (Ericcson's switch) and around 25,000 lines of
code (Metcast); 200 developers (Ericcson's switch) vs one.
(Thanks, Oleg!)
Posted to functional by Ehud Lamm on 8/14/01; 12:56:04 PM
|