>I guess those tools do help a lot, but OTOH I'll keep a grain of doubt - some of these tools may be needed precisely because of the type restrictions and help resolve them. Since I don't really need any of that (my other languages are js and minimal bits of SQL), I declare myself a non-expert on the matter.
Nothing in .NET requires you to use Visual Studio. Yes, the editor will help you keep data types straight but Intellisense does more than that as does VS. But overall, VS is a far more productive IDE than VFP has.
>
>What I had in mind is the situation where, for example,
http://beginnersbook.com/2013/03/polymorphism-in-java/ defines overloading of methods just as something you have to do in a typed language - a different version of a method for each applicable set of parameter types. Or all the examples of class factories where you had to create a separate factory for each set of classes, because the class name has to be compiled and can't be ad-hoc taken from external code etc. So I guess many things are done differently because they have to, and I'm not convinced that each of those is better and makes for a more productive work.
I'll throw out that being able to pass different parameter types to the same method/function actually makes the code more complex and difficult to maintain. You have to check for the datatype and branch the code as needed.
Class factories have uses other than what you're describing.
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer