Hi Walter, Rick.
>Interesting discussion.
It is, indeed.
>>As I've been arguing in the thread above. Compile time is too late. You should be notified of possible mistakes when typing. There is also much to say about what is a strong typed language. In some definitions VFP is a strong typed language and in another C++ is a weak typed language.
>
>>- It offers type checking at compile time, while that actually is too late. It should occur on editing.
>
>And how does that work in a loose language? In VFP there's nothing that can check and make sure your variable is declared as local. Intellisense is of no help here.
>
> You want background compilation - fine. VFP has it and does a pitiful job at it. VB.NET has it and it actually works pretty well. C# doesn't have it and I don't miss it.
[snip]
Even more, have anyone tried to write a refactoring tool for VFP? I did, but having no strong typing, it is close to impossible (not to mention marco substitution).
In general, any kind of tools that needs to build proper parse trees is defeated by the absence of strong typing (and I'm not talking about basic -or value- types, but to custom types, where the real power of strong tyiping shines). Any kind of static analysis is almost impossible to do in such conditions. If you used ReSharper for C#, you know the power of having a tool than can really understand what you're coding. This is not possible without strong typing.
Finally, I don't think there is any tendency to go against strong typing at all. Python doesn't seem like a good example to me. The main researchers in programming languages (see Robert Harper, Frank Pfenning, Derek Dreyer, Umut Acar, Adam Chlipala, et al) are even pushing type systems for low-level languages, as the compilers intermmediate languages before going to machine code). So I can't agree that strong typing is neither an error nor a fad.
Best regards,