“Absolutely amazing! A page turner, just like Harry Potter for the technically minded.” —Tobias Svensson from review at return 42;
“This book is so interesting I did 60 minutes on the treadmill yesterday instead of the usual 30 because I couldn’t stop reading.” —Joel Spolsky on Joel on Software
“Coders at Work should inspire readers to learn about the wider context of their craft and stop the reinvention of the proverbial wheel” —Vladimir Sedach from review at Slashdot
“Peter Seibel asks the sort of questions only a fellow programmer would ask. Reading this book may be the next best thing to chatting with these illustrious programmers in person.” —Ehud Lamm, Founder of Lambda the Ultimate - the programming languages weblog
“I highly recommend it.” —Andy Mulholland, CTO, Capgemini
“I have long known the names and of the work of about half of the programmers in Peter Seibel’s wonderful book, Coders at Work; and it is fascinating to read their ideas about their lives and their ideas about programming. Better yet, I have now learned about the lives and philosophies of the other half of the programmers in the book, whose systems were known to me but the programmers themselves were not. Anyone interested in computer programming and what makes a great computer programmer will enjoy this book.” —Dave Walden, original member of the BBN ARPANET team
“These are wonderful interviews and this looks to be a bible for any programmer who aspires to be better.” —Peter Christensen, Founder of GeekStack.com
“This book is dead sexy. When it comes out, you should definitely get a copy.” —Joseph F. Miklojcik III from review at jfm3> _
“Superb book!” —Prakash Swaminathan from review at CloudKnow
“Read it, because then you will know the greatest coding brains.” —Amit Shaw from review at Teleported Bits
“One of the other core questions Peter asks is, what books would you recommend to help a developer learn programming? For me, this book joins my short list—it takes you away from the limitations of learning within a single company or community, and shows you the breadth of experiences that can make someone a great developer.” —Marc Hedlund from review at O’Reilly Radar
“The range of topics covered is just astounding.” —Chris Hartjes from review at @TheKeyboard
Joe Armstrong is best known as the creator of the programming language Erlang and the Open Telecom Platform (OTP), a framework for building Erlang applications.
In the modern language landscape, Erlang is a bit of an odd duck. It is both older and younger than many popular languages: Armstrong started work on it in 1986—a year before Perl appeared—but it was available only as a commercial product and used primarily within Ericsson until it was released as open source in 1998, three years after Java and Ruby appeared. Its roots are in the logic programming language Prolog rather than some member of the Algol family. And it was designed for a fairly specific kind of software: highly available, highly reliable systems like telephone switches.
But the characteristics that made it good for building telephone switches also—and almost inadvertently—made it quite well suited to writing concurrent software, something which has drawn notice as programmers have started wrestling with the consequences of the multicore future.
Armstrong, too, is a bit of an odd duck. Originally a physicist, he switched to computer science when he ran out of money in the middle of his physics PhD and landed a job as a researcher working for Donald Michie—one of the founders of the field of artificial intelligence in Britain. At Michie’s lab, Armstrong was exposed to the full range of AI goodies, becoming a founding member of the British Robotics Association and writing papers about robotic vision.
When funding for AI dried up as a result of the famous Lighthill, it was back to physics-related programming for more than half a decade, first at the EISCAT scientific association and later the Swedish Space Corporation, before finally joining the Ericsson Computer Science Lab, where he invented Erlang.
In our several days of conversation over his kitchen table in Stockholm, we talked about, among other things, the Erlang approach to concurrency, the need for better and simpler ways of connecting programs, and the importance of opening up black boxes.