How to design a class
Object oriented programming is awful, and this answer describes why. It shifts focus from algorithms to objects. As a result, you get these over-designed programs with lots of objects that have lots of methods, and the algorithm gets totally obscured.See: http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom....