Once again, I got a blogging pass to JavaOne—my fifth year as the intrepid reporter at JavaOne, and my 15th JavaOne attendance. Sadly, that wasn't enough to get me the coveted Alumni badge—my email address wasn't in the right Oracle database, and showing my previous conference blogs didn't impress the conference staff.
My hard-hitting, tell-it-as-it-is Scala book draft is coming along. No animals or fruit have been pressed into service for contrived examples. Free chapters are at typesafe.com. ♦
I give an example of why having a language spec builds confidence in a situation that would induce fear and trembling in a seat-of-the-pants programming language. I boldly generalize to posit that it is good to have multiple implementations of a spec, and that there should be more than one implementation of the Java platform. ♦
I finished my "modern programming languages" course at the Ho Chi Minh City University of Technology. We covered metaprogramming (with Ruby and Rails), continuations (with Racket and Scala), concurrency (with Scala and Clojure), and finished off with a dose of Haskell to see type inference and type classes in action. Here are the hardy souls who stuck it out until the end.
A red-black tree is a binary search tree with the following additional
I needed some filler material for my lectures on concurrency. I googled around for Java concurrency pitfalls and came up with a nice mixture of golden oldies and new ones (at least new to me). I cleaned them up and translated them into Scala because that's what we use in the course. Here they are, for your puzzling pleasure.