Friday June 28, 2013

What Can We Learn From Languages Without OO Inheritance?!?

Andrew Mackenzie-Ross shared a post describing his time with Google’s fascinating Go language:

A few months ago, I had a look at the brainchild of a few serious heavyweights working at Google. Their project, the Go programming language, is a static typed, c lookalike, semicolon-less, self formatting, package managed, object oriented, easily paralellizable, cluster fuck of genius with an unique class inheritance system.

It doesn’t have one. Zilch. Nada. Zéro.

No class inheritance. Sounds crazy, but Andrew does a great job walking through why that’s not as bad as it might sound to some. And he walks through in Objective-C how you’d start with a data model expressed using inheritance and move to a simpler representation expressed through composition.

Go has caught my attention recently as well. I’m drawn to the way it expresses concurrency as a language primitive. It’s affected the way I view GCD on iOS. I recommend checking the language out. It’s simple to learn and, as I’m discovering, quite practical on the server side of things.

(via iOS Dev Weekly)