Year: 2009

Objects Are Not Abstract Data Types

I was lucky enough to see a talk by Barbara Liskov, the grande dame of computer science. The talk was titled “The Power of Abstraction,” and it covered Liskov’s work on programming languages in the 1970s and 1980s, primarily a language called CLU. Update 1/14/2010: Video of the same talk is available here: OOPSLA Keynote:…

Read the full article

Impedence Mismatch

Data formats are annoying. As much as half the code in any large software project consists of translating from one data representation — objects, SQL tables, files, XML, RDF, JSON, YAML, CSV, Protocol Buffers, Avro, XML-RPC — to another. Each format has its own strengths and weaknesses. Often, no single representation is complete enough to…

Read the full article

Generating Clojure from an Ontology

I’ve been fascinated with RDF for years, but I always end up frustrated when I try to use it. How do you read/write/manipulate RDF data in code? Sure, there are lots of libraries, but they all represent RDF data as its primitive structures: statements, resources, literals, etc. Working with data through these APIs feels like…

Read the full article

Two Upcoming Clojure/Hadoop Talks

Hello, everyone. I’ll be performing my Clojure+Hadoop magic tricks at the following events: Friday, October 2: Hadoop World NYC. Use the code hadoopworld_friend for 10% off the registration fee. Monday, October 5: NoSQL NYC Meetup. Free! At both events I’ll be talking about: Why Clojure and Hadoop are a perfect fit. How to write Hadoop…

Read the full article

It’s About the Platform

I’ve said It’s About the Libraries, and indeed, one of the major selling points of Clojure is that it can call Java libraries directly. But there’s more to it than that. Libraries are just one benefit to building Clojure on top of Java, or, more accurately, on top of Java the platform. Look around you,…

Read the full article

Cutting-Edge Clojure Development with Maven

I promised, in my previous post, that I would show you how to use the latest-and-greatest versions of Clojure and clojure-contrib in your Maven projects. Here’s that post. Formos Software maintains a Maven server with nightly builds of Clojure and contrib at http://tapestry.formos.com/maven-snapshot-repository/ Here’s a complete pom.xml file with dependencies on both Clojure and clojure-contrib:…

Read the full article