What Game of Thrones Can Teach Us About Programming

A lot! Its a great and well developed story!

Bora Yalcin
I. M. H. O.
Published in
2 min readJul 4, 2013

--

Yesterday I read the post What Game of Thrones Can Teach Us About UX Design which says Game of Thrones teaches nothing about UX design, don’t fall into made-to-go-viral pop culture “insights”. I completely agree with him but from a developer perspective a lot can be learned from Game of Thrones.

I already posted what I’m going to write here as a comment on that post but I guess he chose not to publish it.

First of all Game of Thrones (I’ll refer as GoT from on now) is huge and complicated as hell. Lots of families,characters, relations between families, family sigils, bad guys, good guys, relatively small roles with critical importance (remember the cool, shapeshifter Valar Morgulis guy).

Also, George R. R. Martin, is a big spender on characters, main characters are killed like flies but their place is quickly filled and story goes on somehow.

So, here is how it looks to a programmer eye

There is a abstract class called Family, probably the most important class of all. Every family extends it, puts their sigils and stuff into class properties, extends the functions according to their way of thinking.

Characters inherits their families, there is a strong inheritance in there.

The system has a very good loose coupled design. When you kill a main character, the system is easily fixed or may not be broken at all, life goes on.

Also the relatively small but important roles are like helper classes of a framework. They do little, they do one thing but they do good.

And finally there are some magical methods like dragons, fire god, white walkers, The Great Wall. They make the story work like a charm.

I can go on but I think that can give you the idea of how GoT can teach you as a programmer. When you watch/read the story you can see it forces you to think highly object oriented just to be able to follow the story properly.

--

--

Bora Yalcin
I. M. H. O.

Based in Leiden, the Netherlands, I build for web, work mainly with PHP and JavaScript. http://borayalcin.me