Akka is a Scala based framework for creating robust and scalable distributed applications, and (along with the Lift web framework), has been one of the poster boys for the Scala dev community. Given the [relative] naivety of Scala programming language I was intrigued to see what was actually possible with these frameworks from the trenches. Tonight’s presentations from Maciej Matyjas (@matyjas) at skillsmatter offered to show exactly these possibilities using both Lift and Akka to build a scalable webapp with remote actors, and also using sbt as the build tool (sbt purporting to be the Scala good cop equivalent of Maven).
Recently I’ve been involved in a number of ‘chats’ which have led me to revisit my understanding on what errors are versus exceptions and when each could and should be used. The wider context of this is based around my own belief that recoverable or application specific abnormal conditions should be returned to clients in the form of exceptions. Typically I’ve heard errors and exceptions referred to interchangeably, with some difficulty arising when the conversation covers ‘system failures’, at which point these are assumed to be ‘exceptions’ (versus everything else being implicitly deemed as errors). Continue reading