Pascal Costanza wrote: > > Consider a simple expression like 'a + b': In a dynamically typed > language, all I need to have in mind is that the program will attempt to > add two numbers. In a statically typed language, I additionally need to > know that there must a guarantee that a and b will always hold numbers.
I still don't really see the difference. I would not expect that the dynamic programmer will be thinking that this code will have two numbers most of the time but sometimes not, and fail. I would expect that in both static and dynamic, the thought is that that code is adding two numbers, with the difference being the static context gives one a proof that this is so. In this simple example, the static case is better, but this is not free, and the cost of the static case is evident elsewhere, but maybe not illuminated by this example. This thread's exploration of the mindset of the two kinds of programmers is difficult. It is actually quite difficult, (possibly impossible) to reconstruct mental states though introspection. Nonetheless I don't see any other way to proceed. Pair programming? > My goal is not to convince anyone, my goal is to illustrate for those > who are interested in getting a possibly different perspective. Yes, and thank you for doing so. Marshall -- http://mail.python.org/mailman/listinfo/python-list