From Java Generics to questioning assumptions
[Small update: all occurences of “loose“ have been replaced by the word “dynamic“, due to an explicit request. So there. Can anyone explain the difference?]
Bruce Eckel is Over it. Actually, he's over the fact that Java Generics do not allow dynamic typing (you have to use interfaces). Will .Net generics support dynamic typing? He's come to terms with the fact that Python is sometimes(and often times) the “better“ language to do stuff. He's come into acceptance. But he's learned to live with both of them at peace.
But that's not the main point I saw in his post. The main point I saw was that sometimes, no matter how strongly you believe something is true, you're going to have to question yourself and the “facts” if you want to proceed in a better,faster,more elegant way to do stuff.
Bruce tells about people discovering Python and the power it holds within, mainly the quickness with which you can create programs that do things. But here python is just an example (to me). I see this holds true for a lot of things, both in and out of software development.
Taking XP for example, you know what, not even that. Taking TDD for example. People who do TDD for the first time have the same exact “discovery” that Bruce describes in his post.
- 1st time try is motivated by something which is not “dangerous” to try out
- enlightenment
- questioning yourself for your previous methods
- slowly converting to become “test infected”, leaving the “old” methodologies behind until such time that they are
really needed.
The main struggling points to get people to do step number one.
BTW, the same can be said for par programming. Just look at the over alll output and speed vs the “old” way. Disbelief,quesitoning assumptions, these are all things that go through your mind when you try to come to terms with such weird facts.