Effective Programs - 10 Years of Clojure - Rick Hickey

tags:: #source/video Clojure Programming
author:: Rick Hickey
Source

Problems with Type Systems

"If it compiles, it probably works." — yeah, right. That's not true at all, at least not in the difficult way that programs need to work.

What if you created a class but now need to add one piece of information? New class? What's the name?

What if you're missing a piece of information? Everything becomes a Maybe?

Positional arguments are really difficult to manage.

The type of a thing really doesn't tell you what it is. String, float, etc. Millions of methods take the same types.

We define the meaning of a thing really only in the aggregate of a class. name makes sense as part of a Person. But the other guy added name to the MailingList class and now it suddenly doesn't work together.