In this interview filmed at RubyFringe 2008, Tom Preston-Werner talks about how both Powerset and GitHub use Ruby and Erlang, as well as tools like Fuzed, god, and more.
Erlang virtual machine – BEAM – hosts an increasing number of languages. Reia, a Python/Ruby like scripting language and Lisp Flavoured Erlang have recently been released. Debasish Ghosh reflects on this trend while other authors try to outline other possible language variants inspired by Ruby or Haskell.
In this presentation from QCon London 2008, Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, Software Transactional Memory, the history of concurrency, alternatives to threads, Erlang, Scala, and recommendations for concurrency in Java.
Recently a few popular Ruby projects have started using Erlang. We look at how EngineYard's Vertebra, Powerset's Fuzed and recently Github make use of Erlang.
Erlang is mostly known for reliability and for its concurrency and scalability concepts. But did you know that Erlang is a language well suited for writing DSLs? Dennis Byrne shows you how.
There has been a somewhat heated debate about Scala vs. Erlang on the blogosphere recently. The future will be multi-cored, and the question is how the multi-core crises will be solved. Scala and Erlang are two languages that aspire to be the solution, but they are a bit different. What are the pros and cons with their approaches?
At RailsConf 2008, Ezra Zygmuntowicz announced Vertebra, a next generation cloud computing platform that builds on Erlang, Ruby and XMPP. We talked to Ezra to learn about Vertebra, which will soon be open sourced.
We get more and more cores in our CPUs, but does our software run linearly faster? In most cases - no. We've hit a trend change when it comes to faster CPUs. We'll get more and more cores, but each core will be slower as the number of cores increase. In his talk, Joe Armstrong introduces Erlang and the ideas of Concurrent Oriented Programming which is one way to solve the problem.
An under the covers look at the Facebook Chat architecture. "The secret for going from zero to seventy million users overnight is to avoid doing it all in one fell swoop."
In this article, Steve Vinoski explains how to build RESTful Web services using the Erlang programming language and the Yaws web server. While Steve considers most Web frameworks failures simply because they were a poor match to the problem, he believes Yaws and Erlang are a better match for RESTful development than many other language frameworks that were built specifically for that purpose.
In a new interview, recorded at QCon San Francisco 2007, CORBA Guru Steve Vinoski talks to Stefan Tilkov about his appreciation for REST, occasions when he would still use CORBA and the role of description languages for distributed systems. Other topics covered include the benefits of knowing many programming languages, and the usefulness of of Erlang to build distributed systems.
InfoQ interviewed Vlad Dumitrescu about the Erlang IDE, Erlide.
A recent debate on the RubyTalk list asked where to use is_a? vs respond_to? This highlights situations where objects respond to the same interface, but don't share any superclasses. We look at this debate and solutions in other languages such as Smalltalk, Erlang, and Scala.
Designing for flexibility and robustness: Asynchronous message model, OOP and Functional Programming
According to Pragmatic Programmers it is preferable in OOP to avoid design based on returning values. Michael Feathers argues that it may also be better to use the asynchronous message model that might be instrumental for improving adaptability and robustness. This maps well to the Erlang model though opposing some of the principles of pure functional programming.
Not every application has the scalability requirements of Google, Flickr or Amazon, however the ideas behind the Mnesia DBMS are compelling: a fast, in-process DBMS that takes advantage of concurrency, with the ability to replicate tables across distributed nodes for high scalability and fault tolerance.