Funny enough, it was Visual FoxPro that was labelled difficult to learn and master. A Fawcette Technical Publications review of Visual FoxPro 6.0 in 1998 referred, tongue-in-cheek, to it's "simple, 5 year learning curve".
Yet, is it really that difficult? It can be, depending on what you need to do or on the standards expected by your client. For simple applications, though, it isn't very hard at all.
Contrast this with .Net. While the Designers are similar to the VFP Designers, the code behind the pretty pictures is daunting. Yes it's elegant and flexible, yes it's powerful but it's very difficult to do simple stuff that's not drag-and-drop from a toolbox.
Many of the VFP developers I have known really love the cool things you can do in VFP ... but usually don't have to. They'd much rather tweak their class and function libraries to do the grunt work and concentrate on the business task.
VFP developers, for the most part, freely give away their secrets and that overcomes a lot of the language difficulties. Those that charge for their wares do so because of their huge investment of time in their work and no one would expect less. VFP developers do not have to invent the brick to build their houses....unless they want to.
Not so in the .Net world. You may not want to invent the brick but few are going to give it to you. There sure are a lot of brick assemblies for sale, though. Good thing, because it would take you a long, long time to build that brick and you better have a good grasp of chemistry and engineering to do so.
In the last 18 months, I have led or managed small and medium sized development teams on monster .Net based projects, using ASP, C#, web forms, win forms, secure sockets, etc etc etc. The developers I work with are very talented folks. But I have had to really lower my expectations on the quantity of deliverables and the robustness of the initial builds. It is so, so easy to "blow up" Visual Studio apps because the amount of things the developers have to account for sometimes overwhelms them. A small behavioral tweak may cause 2 or 3 developers days to complete.
I can't even begin to describe how hard it is to get a robust, blind installer in place for these applications.
Upper management gets frustrated, understandably. They can't fathom at the gut level why it takes so long to deliver functionality that used to be delivered in a fraction of the time.
There are those in the VFP world who have transitioned to the .Net world and I say God bless 'em. If that's the tool that meets their needs, all power to them.
But I think the backlash "for the rest of us" is coming. Two acronyms: RIA and SaaS.
RIA (Rich Internet Applications) tools make it easy to put robust line-of-business applications up on the web quickly and with a minimum of fuss. SaaS stands for Software as a Service and is defined as centralizing data and code and selling business software subscriptions. There are several maturity levels of SaaS but, in the end, it deals with removing local, complex software and managing changes and customizations by scripting and configuration management.
Where does the VFP world fit in and what are the advantages for VFP developers looking for their next platform?
For that you have to wait for Part Five. Gotta go buy summer school clothes for my daughter.