Another excuse to stay up until 3 AM.

Archive for December, 2011

There’s Something about Scala….

I was recently talking to @SeanTAllen about Scala, and we both agreed that there was something about it that made us uneasy. Sean talked about being bothered by it’s “high cognitive load,” but it took us a bit to be able to verbalize why that cognitive load exists. One thing that Sean said that struck me was “There is a lot to like about Scala, but I keep being like ‘why do I have to remember that?’” I think what it really comes down to is lack of elegance.

When a tool or a programming language is elegant, its use and application feels intuitive: you can infer things and makes guesses about how to accomplish things, and those guesses usually turn out to be right. Part of its power comes from making sense in an organized, predictable way. In Scala’s case, however, power seems to come from a grab-bag of features and shortcuts which are mostly there to satisfy the longings of Java developers for greater programming efficiency. But why be a better Java, with all the baggage that entails, when you can be a better language period?

I think Scala is the wrong direction to be taking.


The Double-Edged Sword of Group Ownership

While looking at code reviews the other day, I was struck by some developers’ inaction over various issues with the code base. That got me thinking about the idea of group ownership and how it can perceived by individuals. I think the ideal when a problem occurs is:

Group ownership → we all own it → I also own it → I’ll try to fix it.

But many times that doesn’t seem to happen, and instead I think the following logic is used:

Group ownership → we all own it → people other than me also own it → they can fix it.

Which, of course, isn’t much different than a lack of group ownership in the first place. In the end it seems that merely repeating the mantra of group ownership isn’t enough- what’s really necessary is an understanding of what group ownership actually entails, and the responsibilities developers share as a result.