Welcome () | logout login

Resources

Software

Erlang - Erlang is a programming language traditionally used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang’s runtime system has built-in support for concurrency, distribution and fault tolerance.

Chicago Boss - A server framework inspired by Rails and written in Erlang. It offers all the conveniences of modern web development, including Comet. What sets Chicago Boss apart from other non-Erlang frameworks is that it can handle large amounts of traffic without any drop in performance. What sets Chicago Boss apart from other Erlang frameworks is that it is easy to set up and use.

Articles

Why Erlang? - A brutally objective analysis of the benefits and downfalls of coding in Erlang, written by a veteran programmer. Miller outlines the major advantages of programming in Erlang, as he sees them (primarily correct handling of garbage collection, network I/O, and string concatenation in a concurrent environment), while also discussing numerous other benefits he has discovered through years of working in Erlang. For example, the impossibility of making a blocking network call in Erlang means that an Erlang server will never crash the operating system, and the transparency of Erlang's data structures simplifies manipulation of undocumented data structures in order to implement functionality that the original library author did not intend.

Miller also provides an overview of some of the major aspects of Erlang that tend to scare off less seasoned and/or determined programmers: slower speed, lack of libraries available, unusual syntax even for functional programming. According to Miller, the benefits of programming in Erlang are most appreciated by those who persevere and push through these perceived drawbacks by object-oriented programmers; in the long run, though Erlang is nowhere near the simplest or most sexy language out there, it is by leaps and bounds the most 'correct' in its logic.

Why use Erlang? - A thorough yet concise overview of the major advantages to programming in Erlang, including multiple reference links for further research. We highly recommend checking out this page as well as the links it provides for further background on the numerous advantages of Erlang - it's easy to see why it's the chosen platform for Concurix OS - we are dedicated to providing the best, through use of the best tools out there!

Books

Programming Erlang - An in-depth introduction to Erlang, a programming language ideal for any situation where concurrency, fault tolerance, and fast response is essential. Erlang is gaining widespread adoption with the advent of multi-core processors and their new scalable approach to concurrency. With this guide you'll learn how to write complex concurrent programs in Erlang, regardless of your programming background or experience.
Erlang and OTP in Action - This book teaches you to apply Erlang's message passing model for concurrent programming -- a completely different way of tackling the problem of parallel programming from the more common multi-threaded approach. This book walks you through the practical considerations and steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications.

Programming Erlang - This book presents Erlang and functional programming in the familiar Pragmatic style. And it's written by Joe Armstrong, one of the creators of Erlang. It includes example code you'll be able to build upon. Learn how to write programs that run on dozens or even hundreds of local and remote processors. See how to write robust applications that run even in the face of network and hardware failure, using the Erlang programming language.
Building Web Applications with Erlang - Discover the answer hands-on by building a simple web service with this book. If you’re an experienced web developer who knows basic Erlang, you’ll learn how to work with REST, dynamic content, web sockets, and concurrency through several examples. In the process, you’ll see first-hand that Erlang is ideal for building business-critical services.

Learn You Some Erlang for Great Good! - A hilariously illustrated guide to the concurrent functional programming language you've heard so much about. You'll start out with the basics and learn all about the shell, tuples, list comprehensions, and bit syntax. Once you've got the easy stuff down, you'll work your way through tougher concepts like clients and servers, message passing, open telecom platform applications, and all of those other catchy Erlang phrases you'd love to brag to your friends about. As you laugh along with Hebert's brilliantly quirky drawings, you'll effortlessly pick up this complex language and have fun while you're at it.

E-Learning

Erlang Express - Take an online course on Erlang - Erlang Express, taught by Simon Thompson and Francesco Cesarini, authors of Erlang Programming, published by O’Reilly. A mixture of multiple choice questions, interactive tutorials, screen-casts and discussion forums accompanies the course.

Learn you some Erlang - This guide is intended to be read by beginners, but if you're average or somewhat advanced you can probably learn a few things too.

Technical Papers

Multicore OSes: Looking Forward from 1991, er, 2011 by David A. Holland and Margo I. Seltzer, Harvard University, in Proceedings of Hot OS XIII

An Analysis of Linux Scalability to Many Cores by Silas Boyd-Wickizer, Austin T. Clements, Yandong Mao, Aleksey Pesterev, M. Frans Kaashoek, Robert Morris, and Nickolai Zeldovich, in OSDI'10 Proceedings of the 9th USENIX conference on the Operating systems design and implementation

The Landscape of Parallel Computing Research: A View from Berkeley by Krste Asanovic, Ras Bodik, Bryan Christopher Catanzaro, Joseph James Gebis, Parry Husbands, Kurt Keutzer, David A. Patterson, William Lester Plishker, John Shalf, Samuel Webb Williams, and Katherine A. Yelick