Last week I was invited to talk at JAOO Denmark. Originally a Java conference, JAOO is now a very broad software development conference covering everything from agile to language design to distributed systems.
The stand out talk on the first day was Gregor Hohpe‘s Programming the Cloud which enumerated some of the problems with building distributed systems without call stacks, transactions, promises, certainty or ordering constraints and then outlined some approaches to overcome them including looking at real life situations which also have to deal with the lack of distributed transactions. For example at Starbucks your coffee is made concurrently with your payment being taken and then problems are fixed up afterwards if you can’t pay, they can’t make the coffee or they get the order wrong. The throughput gained from optimistic concurrency is greater than the loss of having to fix things up, even if it means that sometimes you end up giving away free coffee.
Unfortunately I missed Lars Bak’s V8 keynote on Tuesday, but was really impressed by Successfully Applying REST by Stefan Tilkov which enumerated REST patterns and anti-patterns shining some light on the subtleties of a technology which initially seems straight forward but turns out to have some pot holes for the unwary.
The highlights on Wednesday were seeing Guy Steele and Dick Gabriel give their 50-in-50 talk again (which is still not available on-line, but one of the highlights is here) and seeing the new WeDo lego robotics platform for kids which will be available next summer. The most relevant talk was Test Driven Development, Take 2 by Erik Doernenburg which got me thinking about how to do dynamic mock objects in C++. My talk on embedding Mono in Second Life went down well and elicited some good questions, although as a fringe topic it wasn’t heavily attended.
Other highlights included Erik Meijer’s keynote on fundamentalist functional programming, Bill Venners talk on Scala, hearing Patrick Linskey conclude that the way to make Java scale is to use Scala or Erlang, James Copland reinventing OO, playing guitar at the jam session and hearing Erik suggest to Lars that we compile LSL to CIL and run it on V8 modified to capture thread state while Erik was spilling half bottles of Champagne over people and Lars was swaying and stumbling around the room.
: http://www.flickr.com/photos/jimpurbrick/2918267608/ “The Shakespeare Language by Jim Purbrick, on Flickr”