What sort of applications is Erlang particularly suitable for?
Distributed, reliable, soft real-time concurrent systems. • Telecommunication systems, e.g. controlling a switch or converting protocols. • Servers for Internet applications, e.g. a mail transfer agent, an IMAP-4 server, an HTTP server or a WAP Stack. • Telecommunication applications, e.g. handling mobility in a mobile network or providing unified messaging. • Database applications which require soft realtime behaviour. Erlang is good at solving these sorts of problems because this is the problem domain it was originally designed for. Stating the above in terms of features: • Erlang provides a simple and powerful model for error containment and fault tolerance (supervised processes). • Concurrency and message passing are a fundamental to the language. Applications written in Erlang are often composed of hundreds or thousands of lightweight processes.Context switching between Erlang processes is typically one or two orders of magnitude cheaper than switching between threads in a C progr