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.
InfoQ's research initiative continues with an 10th question: "Top 20 Web Frameworks for the JVM". 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.
Developed since 2010 by Rich Hickey and the Relevance team, Datomic offers some new approaches to database architecture. Leveraging current trends in cloud and storage it has strong transactions, rich query API and read scaling.
Rich Hickey spoke at the Clojure/West conference last weekend about his newest venture, Datomic, which he describes as “a distributed database designed to enable scalable, flexible and intelligent applications, running on cloud architectures.” Datomic sits on Amazon’s DynamoDB, and embeds Datalog, a subset of Prolog, to move queries into the application.
Clojure is rather new member of the LISP family of languages which runs on the Java platform. Introduced in 2007 it has generated a lot of interest. InfoQ had a small Q&A with James Reeves and Christophe Grand, the creators of Enlive and Compojure, about their projects and their experiences working with Clojure.
Heroku recently announced its new Cedar stack and the addition of Node.js and Clojure as new deployment languages. InfoQ spoke with Heroku Co-Founder Adam Wiggins about this recent development, underlying principles and future plans. He compares a PAAS to an Operating System for the Cloud built atop of the combination of powerful, existing tools.
Stefan Richter, CTO of Freiheit.com, explained this week at the Google Developer Day in Munich, his vision for writing rich internet applications using HTML5 and Google App Engine and why he thinks that it will be more difficult to build a client-side component based HTML5 when compared to Server-based page rendering.
JRuby's Charles Nutter is making Maven artifacts installable as RubyGems. An alternative to using Maven is JavaGems, built on RubyGems, Bundler and Gemcutter to make it easier to install libraries for Scala, Clojure and other JVM languages. Also, JRuby gets the ability to generate real Java classes.
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.
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.
Managing libraries and dependencies is tedious. Clojars is a new hosted repository for Clojure libraries inspired by Ruby Gems and Gemcutter. Together with a new build tool, Leiningen, Clojars takes the pain out of library management. InfoQ talked to Alex Osborne about Clojars and how it works.
IronScheme, the R6RS implementation of Scheme for DLR, has reached RC1 after one year of being in beta.
The Scheme Steering Committee is proposing the split of the Scheme language in two which temporarily are called Small Scheme and Large Scheme.
In this interview from QCon London 2009, Rich Hickey talks about Clojure. The discussion includes the ideas behind Clojure's STM support, what other concurrency primitives Clojure supports and which ones might get added in the future. Other topics covered are Clojure's AOT support, the role and implementation of multimethods, Clojure ports to other systems and much more.