I Don't Care For Programming Diversity

In Ruby, one of the recurring themes is the idea that the language is welcoming, because it makes people coming from other languages more comfortable, by providing aliases. So, for example, if you are used to “filter” you can write “filter”, and you are used to “select”, you can write “select”.

I think there is nothing comfortable about having to memorize multiple methods that do exactly the same thing, and then on top of that, another method or two that do almost the same thing.

And then there’s a point on diversity, and that more choice is always better - it might work well for Toronto, but I think diversity in such matters is best when it is clearly delineated. It is great to have a diversity of language choices, but within the languages themselves, I really appreciate consistency. Sometimes, less choice is better, and leads to more freedom, by eliminating the need of thinking about the trivial choices (coincidentally, also what many people love Rails for). It’s not just about methods, but about other issues as well. Like the choice between single quotes and double quotes - believe or not, but on a project I worked in, we actually had a meeting about that. And afterwards, we refactored our mostly single-quoted codebase to the double quotes. I actually prefer double quotes, but it isn’t the point. Talk about the bikeshedding and waste of time.

That’s what I learned to appreciate about Go - when it comes to trivial choices, more often than not there is one way.

That style may differ from what you’ve used in C or Java, but Go is a different language

It might not be my preferred style, but at some point I just don’t care. It is like Metric vs Imperial units - sure we can all agree that Metric is vastly superior in every imaginable way, but it isn’t why it’s so great. If tomorrow every country on Earth adopts measuring weight in pounds or, God forbid, stones, I’ll be fine with it, because it’s not about its intrinsic qualities, it’s about standardizing away what doesn’t matter.