Distributed resilience with functional programming

Steve Vinoski on when to make the leap to functional programming.

Functional programming has a long and distinguished heritage of great work — that was only used by a small group of programmers. In a world dominated by individual computers running single processors, the extra cost of thinking functionally limited its appeal. Lately, as more projects require distributed systems that must always be available, functional programming approaches suddenly look a lot more appealing.

Steve Vinoski, an architect at Basho Technologies, has been working with distributed systems and complex projects for a long time, first as a tentative explorer and then leaping across to Erlang when it seemed right. Seventeen years as a columnist on C, C++, and functional languages have given him a unique viewpoint on how developers and companies are deciding whether and how to take the plunge.

Highlights from our recent interview include:

  • From CORBA/C++ to Erlang — “Every time I looked at it, it seemed to have an answer.” [Discussed at the 3:14 mark]
  • Everything old is new again — “Seeing people accidentally or by having to work through the problems, stumbling upon these old research papers and old ideas.” [7:20]
  • Erlang is not hugely fast — “It’s more for control, not for data streaming.” [16:58]
  • Webmachine — “[It’s what you would get] If you took HTTP and made a flowchart of it … and then implement that flowchart.” [23:50]

  • Is Erlang syntax a barrier? [28:39]

Even if functional programming isn’t something you want to do now, keep an eye on it: there’s a lot more coming. There are many options besides Erlang, too!

You can view the entire conversation in the following video:


tags: , , , ,