I was interviewed by se-radio at OOPSLA and the podcast is now published. The episode is about one of my tutorial topics at OOPSLA - “Dynamic languages for statically typed minds”. Markus Völter was the interviewer, and we had a good chat about differences between dynamic and static languages and I enjoyed it a lot.
When you listen to a conversation that you had yourself, you always find something that you want to make more clear - and, guess what - I can do that here:
When we talk about “changing types” in dynamic languages, we do not mean that the objects themselves change type. The effect we’re talking about is that since references are not bound to a specific type, methods can return objects of different types (without a common base class or a common interface) depending on the situation, and thereby returning different result or even play different roles in different situations.
Something similar could actually have been done in statically typed languages as well, if they had let us overload methods that differed only by return type. Unfortunately they don’t, and that’s something I’ve missed quite a few times.
But go ahead - listen!