Justin du Coeur (jducoeur) wrote,
Justin du Coeur
jducoeur

A couple of ways into the Uber-Fancy parts of Scala

[For hardcore programmers only. Seriously: this is the stuff that pushes right at the bounds of my comprehension.]

This has been a good week for good explanations. It started on one of the Scala mailing lists, where one of the users was bemoaning the difficulty of trying to figure out what the heck continuations are and how to use them. For once, he got good pointers.

First up is the video Monadologie -- a concise but mind-blowingly useful little one-hour lecture. In about half an hour each, it describes what continuations are and why you might want to use them, and then what monads are and why you definitely want to use them. They're still advanced concepts, mind, and if you're coming into this cold you shouldn't expect to instantly internalize them. But it provides great handles on why you want to use continuations (to build complete control structures that are easy to use) and monads (to more easily compose dataflow), and gives a sense of how each tool works. Even if you aren't using Scala yet, the video is worth watching, since the concepts in it are becoming gradually more common nowadays.

Second, the conversation finally convinced me to buy Scala for the Impatient. Seriously: every hardcore programmer should read this book. It is exactly the book I've been looking for. It assumes that you already know at least one major OO language like Java or C#, and that you don't need explanations of things like functions, classes and stuff like that. Instead, it leaps right to the meat of the question, "What's different about Scala?". It's structured around the Scala Levels (a useful categorization of experience levels that Martin Odersky came up with a year or two ago), starting with the basics that everyone should know and gradually moving up to the incredibly sophisticated but powerful features. (With delimited continuations coming at the very end.)

The book is available in several forms, including Kindle (which is how I bought it), printed or other ebook. The early chapters have been made available for free from Typesafe (the consulting company that consists of many of the movers and shakers in Scala), and are well worth reading. I've been saying for several years now that Scala is the current best language on the block -- this is the book that demonstrates why, with sections relevant to the daily work of any programmer...
Tags: programming, scala
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 4 comments