InfoQ Homepage Functional Programming Content on InfoQ
-
Lift-JRuby Integration Bridges the Gap Between Ruby and Scala
The popular Scala web framework Lift is getting a JRuby API. InfoQ talked to Lift creator David Pollak to learn why Rubyists should use Lift and what the challenges in combining Ruby and Scala are.
-
Python Wins Tiobe's Language of the Year Award for 2010
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.
-
Scalatra: A Sinatra-like Web Framework for Scala
Scalatra is a Scala web framework that follows the principles of the Sinatra Ruby web framework. It was originally known as Step and it is the framework behind the RESTful backend that is used by LinkedIn Signal.
-
JavaOne Preview: Java Functional Programming in an Interview with GridGain CEO Nikita Ivanov
This month GridGain CEO Nikita Ivanov will be speaking about functional programming at JavaOne in San Francisco. With its 3.0 release, GridGain added a more functional feel to its product by reworking the APIs. InfoQ contacted Mr. Ivanov to get the deeper story about his company's experiences with functional programming.
-
Cloudant releases Java based view server for CouchDB
Cloudant the company behind CouchDB just released Java View Server for CouchDB. That means that not only Erlang and interpreted languages like Javascript or Python can be used to write Map-Reduce jobs but also JVM based languages.
-
Object Oriented Programming: The Wrong Path?
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.
-
The End of an Era: Scala Community Arrives, Java Deprecated
It was recently announced that InfoQ is creating a new Operations community. In addition to that, another major change which has been in the works for the last few months at InfoQ is the conversion of the Java community to the Scala community. InfoQ spoke with a prominent Scala expert and members of the former InfoQ Java editorial team to learn more about this change and why it was made.
-
Akka - Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors
Today, the Akka team released version 0.7 of their actors framework for the Java Virtual Machine. Akka attempts to address future concurrency challenges with a solution relying on message based actors, software transactional memory and appropriate fault handling strategies. InfoQ talked to Jonas Bonér about the intent behind Akka, its current state and adoption, and future plans.
-
OpenCredo Announces AMQP Support for Spring Integration
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.
-
Scala 2.8 Beta 1 Released
The long-awaited beta for the new Scala version 2.8 has finally been released. It includes many new features, like for example a redesigned collections library, named and default arguments, and a much improved Eclipse IDE.
-
Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency
Clojure 1.1 RC1 is out and cuts the overhead of functional programming with a few new constructs: transients bring controlled mutability for persistent data structures; chunked sequences make lazy sequences more efficient. InfoQ takes a look at what makes these improvements work.
-
Clojure Roundup: Distribution with Crane, Mathematics with Incanter, Builds with Leiningen 1.0
FlightCaster recently open sourced Crane, a tool for distributing and remotely controlling Clojure instances, currently specialized for EC2. Incanter is a Clojure library and tool that makes R-like statistical computations easy with Clojure. Also: the build and dependency management tool Leiningen 1.0 is now available.
-
BERT as Dynamic Alternative to Protocol Buffers/Thrift
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.
-
Empower Your Ruby With Haskell And Hubris
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.
-
A Type System for Scala Actors to Enforce Race Safety Without Sacrificing Performance
Philipp Haller and Martin Odersky introduce a type system that enables safe massage transfer in Scala actors. Formalized as an extension of the EPFL Scala compiler, “Object Capability Types” system, based on capability checking and external uniqueness, enforces race safety without sacrificing performance and removes significant limitations on message shape imposed by existing approaches.