Based on his experience of writing BitTorrent clients - Combinatorrent and Etorrent – in Haskell and Erlang respectively, Jesper Louis Andersen presents the advantages of using these languages as well as the challenges that he encountered. He details how did he exploit the elegance of each of these two languages to leverage robust concurrency based on message-passing.
In this interview Martin Odersky, the creator of the Scala language talks about work on the next version of Scala and how the functionalities in the JVM help make Scala better. Odersky touches on how some of the most popular entities on the web, such as Twitter and LinkedIn use Scala. And he discusses the complexity of the language and its role as a functional and object-oriented language.
In this interview, Google’s Josh Bloch shares his views on the open-source Java landscape as well as on the future of the Java language, including changes being implemented via Project Coin. Bloch also discusses support for multi-core in programming languages, support for multiple languages on the JVM, Java pain points and the “next big language.”
Ulf Wiger explains the origins of some of Erlang's core principles and how they're even more relevant today. Also: a look at the strengths of Erlang, Clojure and Haskell.
Functional programming experts Simon Thompson and John Hughes discuss functional programming in today’s computing environments, particularly through the use of the Erlang and Haskell languages. In addition to debating the intricacies of both languages and their similarities and differences, Thompson and Hughes also discuss the growing popularity and maturity if functional programming.
John Hughes is the author of “Why functional programming matters” paper and in this interview he outlines the merits of functional programming and the reason for his involvement with it. He also goes over several core principles of functional programming like monads, handling of side-effects, etc.
Relevance, Inc. co-founder Stuart Halloway discusses Clojure and functional programing on the JVM in depth, and touches on the uses of a number of other modern JVM languages including JRuby, Groovy, Scala and Haskell. He also makes a case for structural edit modes in IDEs, and shares some of his favorite IT books.
In this interview, Yukihiro Matsumoto talks about programming languages design and decisions he had to take while designing Ruby. He also discusses other programming languages including Haskell, Scala, Python and Clojure. While talking about Ruby language and functional programming, Matz explores opportunities of integrating some of FP into Ruby and imagines a purer IO approach for it.
John Hughes has ported QuickCheck from Haskell to Erlang. In this interview, he contrasts the two languages, outlining features that he finds more attractive in each of them. He also explains how QuickCheck works and what makes it different from unit tests.
Francesco Cesarini and Simon Thompson talk on Erlang features and what makes it a powerful concurrent language in a discussion centered around their book entitled “Erlang Programming”. They talk about design patterns, functional programming, type annotations, hot software upgrades, influences on other languages, using the VM for other languages, and others.
Joe Armstrong and Simon Peyton Jones discuss Erlang, Haskell, the origins and development history of each, concurrency models, virtual machine implementations, comparisons to Scala, the mental model of a programming language versus the implementation, performance and optimization, and static versus dynamic typing - they both also make some surprising revelations.
An interview that begins with a discussion of when to introduce difficult Haskell concepts like monads, moves to a discussion of the philosophy of higher order programming, the success and influence of Haskell, its use in the mainstream, and concludes with the idea of teaching computer music and Haskell simultaneously.