Perspectives on Clojure and F#

Get Microsoft Silverlight

Don’t have Silverlight? You can download it here or download the video in MP4, MP3, WMA, WMV, WMV (High) and Zune formats.

Here’s a Channel 9 video shot at Emerging Languages Camp 2010, the first conference on up-and-coming programming languages held in Portland on July 21 – 22. It’s a casual conversation with:

  • Rich Hickey, creator of the Clojure (pronounced “closure”) programming language. It’s a dialect of Lisp intended general-purpose functional programming language with a lot of support for concurrent programming. If you caught our Ignite Your Coding webcast with Robert C. “Uncle Bob” Martin earlier this year, you heard his high praise for the language. Clojure targets both the JVM and CLR.
  • Joe Pamer, compiler developer for the F# programming language. F# is a “hybrid” programming language, built with functional programming in mind, but also programmable in a more imperative object-oriented way. Much of it is compatible with the OCaml programming language, there are some C# ideas in there as well, and it’s one of the languages baked right into Visual Studio 2010.

In this conversation, Rich and Joe talk about their ideas on programming language design and evolution, functional programming, concurrency, how F# fits into Visual Studio and the granddaddy of them all, Lisp.

This article also appears in Canadian Developer Connection.


Uncle Bob: All Our Programming Languages Boil Down to Sequence, Selection and Iteration

“It’s not true that life is one damn thing after another,” wrote the American poet Edna St. Vincent Millay, “it is one damn thing over and over.” Her statement is simply a newer version of the French expression Plus ça change, c’est la meme chose, which is approximated in the English “The more things change, the more they stay the same”. In turn, that French expression echoes a sentiment that dates at least as far back as the biblical book of Ecclesiates: “What has been will be again, what has been done will be done again; there is nothing new under the sun.” Even the idea of history repeating itself has a history of repeating itself!

That’s the essence of the keynote at the 2010 RailsConf conference given by Robert C. “Uncle Bob” Martin, whom I like to think of as “the programming world’s adult supervision”. If you’ve got some time to spare – perhaps while you’re having lunch – watch the video above, because it’ll give you a better sense of the history of programming languages and some educated guesses as to where they’re heading. Once you strip away the syntactic sugar, argues Uncle Bob, our programming languages essentially boil down to three things: sequence, selection and iteration, and every construct within those languages is some combination of them. In the keynote, Uncle Bob explains this essence and considers the implications, in classic “Uncle Bob” style, which includes, of all things, a drum solo at the beginning.

This article also appears in Canadian Developer Connection.


I Think I’ve Created a Monster (or: Programming Language Fanboys)

The guys at Ruby Inside have taken the idea of from the graphic in my How Fanboys See Operating Systems article and run with it in a post titled How Programming Language Fanboys See Each Others’ Languages:

programming language fanboys

I’m not sure what’s going in the square depicting how C fanboys see Java…


The 2009 Lang.NET Symposium / 2009 DSL DevCon

I know it’s incredibly short notice, but I just found about these myself. If:

  • the design and implementation of programming languages, virtual machines and compilers, multi-language libraries and IDEs is your cup of tea, and…
  • you’re going to be in or near Redmond this week

…then you might want to check out these conferences:

Lang.NET Symposium

First, there’s the 2009 Lang.NET Symposium, which takes place in building 99, Room 1919 of the Microsoft Corporate Headquarters from Tuesday, April 14th through Thursday, April 16th. There is no charge to register – that’s right, this is a “free as in beer” event. Who says The Empire isn’t generous?

Here’s a quick description of the event:


Lang .NET 2009 Symposium is a forum for discussion on programming languages, managed execution environments, compilers, multi-language libraries, and integrated development environments.

This conference provides an excellent opportunity for Programming Language Implementers and Researchers from both industry and academia to meet and share their knowledge, experience, and suggestions for future research and development in the area of programming languages.

Why Attend

If you are a language designer, compiler writer, or tool builder in industry or academia, Lang.NET 2009 is a unique opportunity to directly interact with the architects of Microsoft language platforms.

Microsoft language technologists will be very active participants in the conference while at least 50% of the program is reserved for presentations by non-Microsoft employees.

The Lang.NET Symposium will be followed immediately by…

Fill Your Head: DSL DevCon, April 16 - 17

…the Domain-Specific Languages Developers Conference, which runs from Thursday, April 16th through Friday April 17th in the same room, Building 99, Room 1919 of the Microsoft Corporate Headquarters. Here’s a quick description of the conference:

The goal of the DSL Developer’s Conference is to cut away all the unessential conference baggage and concentrate on why we’re spending time at a conference in the first place — the talks by industry experts and experienced practitioners. By doing so, we can keep your wasted time to a minimum. In fact, if you don’t go away with your head hurting from all the new ideas you’ve heard, we’ve haven’t done our job!

As with the Lang.NET Symposium, DSL DevCon doesn’t cost anything. If you want to attend, just register!