> > My point is that static typing is reduntant, since you > are > > going to test the code anyway. > > Preventing errors is not what I consider to be the chief > advantage of static typing as I have stated repeatedly in > this thread. It is a strawman.
It's not a strawman when the type system is good enough to catch errors. But unless fully dependent type systems are incorporated into the programming languages we daily use, they are more of a burden than help.
> > > > Did you run the code? wasn't the error visible when you > > run it? > > Again, yes, but the time it took was much much greater > than than if I was using a static language. > > > It depends if your language saved the old values. But > even > > if it did not, you could pause the program, fix the > error, > > then resume it. > > You didn't answer the question. I would need to back up, > perhaps thousands of stack frames. Otherwise the process > would have to start over. Could I back the process up?
what do you mean by 'back up'?
> > > It depends if your language saved the old values. But > even > > if it did not, you could pause the program, fix the > error, > then resume it. > > But everything in the program depends on what came before > in the current branch. This is worthless to me.
Even if you spot the problem in a previous branch, you can pause the program, change the values, and let the program continue from the previous branch, or divert it so as that the previous branch runs at some point in the future.
> > > I have been using statically typed languages at 99% of > my > > programming efforts. I have only recently started > playing > > with Smalltalk and LISP, and I have found productivity > to > > triple. > > This is approximately the same as my experience level with > dynamic languages. > > How much maintenance of dynamic code have you done? My > experience (as I have repeatedly stated) is that the > initial development is much faster but maintenance is much > slower.
I actually started with maintaining a Smalltalk program written by someone else.