Erlang: a better language for multicore?
Jul 17, 2007 — by LinuxDevices Staff — from the LinuxDevices Archive — 1 viewsO'Reilly has published a technical book about a new use for an old programming language. Programming Erlang: Software for a Concurrent World describes Erlang, originally designed for distributed, fault-tolerant telecom systems, but apparently undergoing a renaissance due to the advent of… multi-core processors.
(Click for larger view of blurry homo sapiens on the cover)
Erlang (“Ericsson language”) has been used commercially for “many years,” in massive fault-tolerant telecom systems. Now, ubiquitous multi-core chips have led to the language being used by “people in-the-know,” says author Joe Armstrong.
According to Armstrong, Erlang combines functional programming ideas with techniques for building fault-tolerant systems. It has no locks or synchronized methods, and no chance of shared memory corruption. Differences such as these enable Erlang programs to “model how we think and interact,” the author said.
Additional claimed Erlang benefits include:
- Built-in support for concurrency, distribution, and fault tolerance
- Used to build internet server applications (mail, web, etc.), telecommunication switches and applications, and database applications
- Excels at controlling systems across several machines and implementing complex protocol logic tasks that are very complex in other languages
- Erlang and its libraries are open source; commercial support is also
available
The book includes lots of sample code, including source code for:
- A shoutcast music stream server
- A full-text indexing and search engine said to scale to gigabytes of data
Sam Tregar, of use.perl.org, commented, “Recommended to any programmer interested in learning about a fascinating and very novel programming language.”
Availability
The 536-page Programming Erlang book is available now, priced at $36.95 for the first edition direct from O'Reilly. Alternatively, it can be purchased as a DRM-free PDF file for $22.50 from Pragmatic Programmer.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.