The human side of Scala

Scala seems to be one of those languages with deep, powerful abstractions and an ever-expanding toolbox. It lures you in with simple, borderline magical examples, and then keeps you engaged by revealing something new and intellectually delicious at every step. The learning curve can be steep, but it’s ultimately rewarding. When you move past “hello worlds” and simple web applications, a question inevitably arises: “Am I doing it right? Is this what good Scala code is supposed to look like?”