Damien Katz explains the benefits and drawbacks of using Erlang, why this language is from the future and why Couchbase has migrated some of the CouchDB’s initial Erlang code to C/C++.
Damien Katz is a technologist, inventor, patent holder, entrepreneur, creator of CouchDB, co-founder and CTO of Couchbase. Damien began his engineering career working on Lotus Notes (IBM) and continued on at MySQL. He is a frequent speaker at industry events, including Data 2.0, QCon, MySQL Conference, Erlang Factory, StackOverflow DevDays, O'Reilly E Tech, and Ruby Fringe.
Software is changing the world; QCon aims to empower software development by facilitating the spread of knowledge and innovation in the enterprise software development community; to achieve this, QCon is organized as a practitioner-driven conference designed for people influencing innovation in their teams: team leads, architects, project managers, engineering directors.
Scala + Akka friendlier and more versatile
Re: Scala + Akka friendlier and more versatile
Plus you can yourself create operations with the same flexibility and is very good for DSL creation.
Also functional is nice, but for organisation Object is better and Scala mixes beautifully both aspect. Erlang is limiting as far as abstraction is concerned.
Of course my background is with object orientation, I am certainly not ready to abandon it's advantages although I am very willing to add functional programming advantages to the OO paradigm, it is a powerful combination.
For that I feel Erlang and Haskell are offering less. Although they are elegant on their own right.
Scala, Erlang, Bodkin the future?
John S Wolter
Scala, Erlang, Akka and the other functional & concurrency oriented languages are the pre-cursors to the future. First concurrency and fault tolerance features need to be an underlying execution layer. This important part's design, an almost invisible part, needs to be understood and settled.
Actors are one important way to provide concurrency. Scala simulates Actors as Erlang nearly does which makes them great training & learning tools. Distributed-oriented virtual machines are needed to execute programs in a truly distributed fashion. We could create CPUs for execution engines(servers) that do this directly but that can't happen until there is wider agreement on architectures.
We are compelled to create a software OS layer, a virtualization of distributed concurrency, using today's CPUs and by extension across the Internet. Now which open source OS can we strip away everything and take its tiny core as a starting point?
facial averages vs familiarity