Monday, February 25, 2008

Practical Erlang Mini-Interview

I’d like to thank Francesco Cesarini and Mike Loukides for taking a momen to answer a couple of questions about O’Reilly’s upcoming ‘Practical Erlang Programming’ book. I think getting answers straight from the horse's mouth is a lot better than the other rumours I’ve posted. Hopefully, I’ll be able to pin Francesco, Jan, and Mike down for some more questions as the book progresses.







You talk about this book being less broad, but deeper than Programming Erlang: Software for a Concurrent World. What does this mean to you?





Francesco To me, it means the ability to ensure that everyone, regardless of background and previous knowledge of programming languages, is able to pick up the book and learn Erlang. Having taught Erlang to everyone, from corporate clients to university students, I know where they struggle and where the problems have been throughout the years. On one side, this resulted in our training materials evolving. On the other, it resulted in our teaching methods and hands on examples evolving. We are going into all of these details, explaining in depth areas we know readers will struggle with. We will be using many more examples, both from our training material and from our lectures, where we ask the delegates to use the shell as we explain the theory.





Why now? What makes you think the market is ready for another book on Erlang? What’s changed?





Francesco Erlang is expanding exponentially. Concurrency and SMP together with Joe’s book have pushed it to its next level. This has resulted in a critical mass which is helping us generate even more users. The market is ready not for one or two books, but for many books, as they generate traction and help each other. My hope is that this will result in an even greater critical mass.






Mike I tend to sign books on technologies that I want to learn about, or that I think I need to learn about. We tend to cover this up with lots of stuff that we call market analysis, but ultimately, that’s what it comes down to.






I was really surprised to see that the Haskell talks at OSCon were not just well attended, they had all the top spots. We didn’t have anything going on in Erlang, but my guess is that it would have shared the top of the list with Haskell. It’s not entirely clear what’s driving this. In the Ruby world, there are clearly a lot of concurrency issues that Erlang can help to solve. (One of the things that convinced me of the importance of Erlang was Lucas Carlson’s drproxy, which is a distributed reverse proxy server written in Erlang.






But I don’t think the Ruby community is really driving the interest in Erlang or in functional languages. There have been many other things happening: Microsoft’s F#, functional features in Sun’s Fortress, the Scala language, etc. What seems to be driving the interest is the idea that functional languages are going to make it easier to exploit parallelism, in a world where a low-end laptop has 8-16 cores. We’re not there now, but give it a few years and we will be. I certainly feel that programming paradigms are shifting, and they’re shifting in the direction of functional languages. Erlang is benefitting from that shift—particularly since Erlang was designed from the bottom up with concurrency in mind.


2 comments:

andrewy said...

What I would really like to see, and was mostly missing in Programming Erlang, are exercises at the end of every chapter.
Any word if it will include these?

deritaf said...

Finally, the books almost come.
Here's the book:
1.Title : Concurrent Programming with Erlang/OTP.
Author : Martin Logan, Eric Merritt, Richard Carlsson, and Robert Calco
Publisher : Manning
Release : February 2009
Link : http://www.manning.com/logan/

2.Title : Erlang Programming
Author : Francesco Cesarini and Simon Thompson
Publisher : O'Reilly
Release : December 2008
Link : http://www.amazon.com/Erlang-Programming-Francesco-Cesarini/dp/0596518188

3. Title : Unknown
Author : Kevin Smith
Release : Unknown
Link : http://weblog.hypotheticalabs.com/?p=278