InfoQ's research initiative continues with an 11th question: "Why Are You Not Using Functional Languages?". This is a new service we hope will provide you with up-to-date & bias-free community-based insight into trends & behaviors that affect enterprise software development. Unlike traditional vendor/analyst-based research, our research is based on answers provided by YOU.
Travis CI, a cloud-based continuous integration (CI) offering for open source projects on Github, has announced support for Java builds, as well as Scala and Groovy additions. After gaining traction among the Ruby open source community the project is now looking into the possibility of expansion to a hosted CI service (nicknamed Travis Pro).
Akka 1.1 was released with many improvements in performance, Futures and more. The basic Akka also has no dependencies except for Scala 2.9. InfoQ caught up with Jonas Bonér to talk about the current state and the future of Akka.
Erlang Co-creators, Joe Armstrong and Robert Virding, admit that Erlang is heavily inspired by the Java world. In an interview at ErlangFactory 2011 SF, they reveal how Scala Actors had shaped their work in what they then called Erlang Processes. Moreover, they acknowledge the fact that Erlang's VM is barely a clone of the famous JVM.
Tiobe's award is given to the programming language that gained most market share in 2010. Objective-C was the leader for most of 2010 but got lost ground in the last couple of months. Python grew it's market share by 1.81% since January 2010, which is nearly 4 times the overall marketshare of SAP's programming language ABAP.
In a QCon London 2010 interview with Joe Armstrong, the original developer of Erlang, and Ralph Johnson, long associated with Smalltalk, OOP, and Patterns, the question of whther we've gone down the "wrong path" w.r.t. object orientation all these yearrs. Both interviewees suggest that we have, but this is due to flaws in the implementation of object ideas and not the ideas themselves.
OpenCredo Ltd has announced support for talking to Advanced Message Queuing Protocol (AMQP) based messagng servers from Spring Integration, a lightweight ESB-like messaging framework. The new support brings MOM vendors whose product doesn't support JMS to users of the Spring Integration framework. Some Message Queues, like RabbitMQ, are very scalable and don't support JMS.
Google's ProtocolBuffers and Facebook's Thrift are options for binary serialization, but not ones that pleased the GitHub team - so they created BERT/BERT-RPC based on the Erlang's 'external term format'. BERT/BERT-RPC now power parts of Github's internal communication.
Embedding C in Ruby or Rails applications is a way to fix performance bottle necks. RubyInline made this easy for C. Mark Wotton recently created Hubris, a bridge which makes it possible to call Haskell code from Ruby.
Ruby has long been criticized for 1.8's limited green threads. Luc Castera gave a presentation at RubyNation about Concurrent Programming with Ruby and Tuple Spaces. He introduces 2 ways of implementing TupleSpaces in Ruby: Rinda and Blackboard using Redis (with plans to porting it to Erlang).
In this presentation recorded at QCon SF 2008, Steve Vinoski shows how to create RESTful web services using YAWS and Erlang. The presentation introduces YAWS and offers YAWS-Erlang code snippets on how to implement REST principles.
37Signals is the latest company to use Erlang in combination with Ruby. The recent Erlang Factory conference also had other examples of Erlang use at EngineYard as well as a talk about Erlectricity, the library that connects Erlang and Ruby.
Part of the Ruby language was influenced by functional programming techniques. Larry Diehl brings a declarative concurrent model to Ruby by importing the concept of unification from Oz Language with the Dataflow project.
Axum, previously known as Maestro, is a Microsoft incubation language project meant to provide a parallel programming model for .NET through isolation, actors and message passing. The language borrows many concepts from Erlang but with a C#-like syntax.