From: Mike Williams
Subject: Biggest FP applications the the world! (was "Programming is FUN again..." )
Date: 
Message-ID: <6ejni6$i27$1@news.du.etx.ericsson.se>
In article <···················@typhoon.texas.net>, "Dan Higdon" <····@charybdis.com> writes:

|> Amen.  I eagerly await the day that C/C++ can be dethroned.  Already,
|> people in the industry are starting to come around to realizing how
|> crappy the C/C++ family of languages is for large-scale development
|> of sophisticated apps.  Now, if our "fun" languages could only replace
|> C in the real world, programming for a living could become fun again.

I posted the following article a few weeks back in
comp.lang.functional.  Maybe it is also of interest to Lisp and Scheme
enthusiasts as well.  For those who don't know, Erlang is a
dynamically typed functional language which additions for concurrent
and distributed programing.

/Mike

PS. The figures below are wrong, should be:

- 375 000 lines of Erlang
- 250 000 lines of C
- 3 600 lines of Java


-------------forwarded article--------------------




I enclose, at the the end of this article, a press release from
Ericsson about a new high capacity ATM Switch. This system is
controled by a large number of processors. The central processors are
Sparc processors runing Solaris 2. The main part of the software is
written using Erlang. In terms of code volume, the system contains 
290 000 lines of Erlang code 250 000 lines of C and 2500 lines of Java
(all not counting comments). The Erlang code would propbaly have been
well over one million lines of C code.

The most widely sold Functional Programming based system is the
Mobility Server. This system contains 250 000 lines of Erlang
code. The mobility server is an adjunct to Ericsson's MD110 PABX
(private telephone exchange).  So far 270 Mobility servers have been
in countries throughout the world. They are selling at a rate of about
30 systems a month.  The Mobility Server uses Erlang running of Force
processors with the VxWorks operating System.

It has been clearly recognised that using Erlang leads to a very fast
time to market and vastly reduces the development effort. Experience
from the mobility server shows that the software is of very high
quality, very few bugs have been reported from the field.

/Mike Williams

PS. There was a large discussion in these newsgoups a few weeks back
about if functional programming reduced complexity and was easier or
not. Would any of the people who didn't believe in functional
programming like to comment in the light of the above information?

---PRESS RELEASE---

ERICSSON ANNOUNCES HIGH PERFORMANCE ATM SWITCHING SYSTEM

Ericsson have today announced the AXD 301 ATM switch, a
high-performance, scaleable ATM switching system for both backbone
networks and edge applications. Its carrier-class design provides
the capacity, scalability, availability, and end-to-end
manageability needed to efficiently handle real-time and business
critical traffic in networks. A unique load sharing switching
concept makes the AXD 301 very compact and cost efficient. Near
linear scalability from 10Gbit/s to 160Gbit/s and a compact size
also makes it cost effective in small configurations down to about
5Gbit/s, making it suitable both for the edge and the core of a
network.

The AXD 301 is a key building block in multi-service ATM networks.
It can handle all currently envisaged broad band services, including
IP routing, high-speed data communications and other business
communications services, and residential services such as high speed
Internet access and interactive TV. Applications include ATM
connectivity networks; scaleable frame relay/ATM networks; and
Multi-Protocol Label Switching (MPLS) for efficient handling of IP
traffic. AXD 301 can be used in business access and residential
broad band access networks and can be combined with Ericsson's AXE
switching system to provide a full range of narrow band services.
All of these applications can run simultaneously on the same switch.
The AXD 301 is intended for public network operators and Internet
service providers, as the foundation for the long-term evolution of
Internet, data and telecommunications services.

The AXD 301 is equipped with functions such as large buffers,
per-connection queueing, multiple service classes, packet discard
that allow mixing different traffic types while still preserving
quality and efficiently using bandwidth. The system has a
performance, scalability and reliability that makes it suitable for
large networks. Its carrier-class software structure makes it
possible to include new functionality without disturbing traffic.

Additionally, the AXD 301 supports both cross connect and switching
applications. Complete support of ATM signaling protocols, and full
inter-networking between all protocols allows an operator to build a
network that flexibly combines different signaling protocols.
Plug-and-play network domains, separated by inter-carrier networking
protocols can easily be created. Also, as a complement to permanent
connections, soft permanent connections are supported, which
automates the routing of management controlled connections and
therefore reduces the network administration workload.

"In developing the AXD 301 we have used Ericsson's core expertise in
the area of switched technology, network building and real-time
services. We know that deployment of ATM networks is of increasing
strategic importance for the many operators who are now looking for
more advanced switches that can handle all types of traffic in
various combinations of networks. The AXD 301 significantly
strengthens Ericsson's strategic position as a supplier in the
datacom industry," said Anders Igel, Executive Vice President of
Ericsson and head of Infocom Systems.