VFP: How to make Visual FoxPro cool

V
VFP: How to make Visual FoxPro cool
In case you hadn’t noticed, Visual FoxPro (VFP) is not very ‘cool’. In this post my aim is to cover 3 areas:
1. Why VFP isn’t cool
2. Why it matters
3. How we can make VFP cool
1. Why VFP isn’t cool
OK, so the first thing we need to agree on is that VFP is not cool. I’ve been chatting with a few people in the .Net space lately (including Adam Cogan and Paul Stovell) about their thoughts on VFP. I’ve concentrated on developers who have never used VFP because they can offer the most useful opinions (as opposed to say VFP/.Net developers who are pretty well aware of what VFP can do).
Straight away we need to acknowledge that there is a general lack of knowledge in the .Net community on what VFP can do. For example, they are genuinely surprised to learn how easily VFP can talk to SQL Server. Countering this is not my agenda however – there have been plenty of discussions on the lack of marketing for VFP and I have no interest in repeating them here. I will come back to ‘spreading the message’ later in this post though.
Rather, I’m going to concentrate on non-technical areas. Here’s some of the reasons why people think VFP isn’t cool:
Reason 1: It is ‘over the hill’
The first thing that VFP has against it is the fact that it has been around for so long. You’d think this was good thing right? Stable. Optimised. Large community. Nup. Today’s new developers are most interested in working with the latest technology. And VFP aint new.
Think Cobol. When people laugh about someone being a Cobol programmer, its not because they are bringing to mind the languages shortcomings. No, primarily they are thinking of how antiquated the language is – ie it must be a bit of joke to be still using it.

 

And sadly, Visual FoxPro is creeping into that same area. This is in spite of the fact that Microsoft is currently working on the next update to VFP and has confirmed support of it until 2014. ‘But it is so old!’ – yes, it must be well past its used-by date… or so the theory goes. Disagree with this all you like, but its a fact – ask a new uni student what they think of VFP and they’ll look at you blankly. Ask an older developer (not a VFP developer) their thoughts and they’ll query whether it is still around. Inform them it is and watch their reaction – it must be on the scrap heap surely… and on it goes. We’ve all run into this thinking out there.
And I can relate to this myself. I love all the new stuff, so I totally understand where they are coming from.

 

Now, at this point you may be questioning if new developers are really that ‘superficial’ – I mean surely they’d have some interest in comparing the tools and choosing the best one to work with. Nup. I reckon the actual abilities of the tool comprise roughly 5% of the decision process.
Don’t believe me? Then consider this – why are there more developers going into C# than VB.Net? C# is cooler, that’s why. Both languages have roughly the same functionality, and yet C# is perceived as being the language the smarter ‘real developers’ choose. Yes, and VB is for the people who find C# too hard…
There are ofcourse some pretty major (and vocal) proponents of VB, but the fact that they have to ‘explain’ why VB is just as good is part of the proof that it is the ugly sister. [btw I expect this last paragraph will probably get the most reaction from readers, and if so, then its because you’ve missed my main point.]
Main point => Coolness isn’t about technical ability, it is about perception. Perception is everything.
Reason 2: It doesn’t do Managed code
The second thing against VFP is that it is not part of the .Net suite. VFP code isn’t managed code. And here’s the interesting part – ask a new .Net developer why managed code is better. You’ll get a few mumbles about better memory management, some will mention garbage collection, but by and large, developers can’t tell you what’s so good about managed code. It’s just better OK.
So, because VFP isn’t managed code then it must behind the times. Ofcourse, they all use Word, Outlook, Skype, Windows Media Player and a host of other applications that aren’t written in managed code but that’s beside the point. The point is that if you are writing managed code, then the perception is that you are writing better code. Managed code is cool, VFP isn’t.

And don’t get me wrong – I am not ridiculing this thinking, I actually think it has a lot of merit. My point is to simply list reasons for the perception VFP has.
Reason 3: The Developer User Experience
The third strike against VFP is the tired look and feel. Run up VFP and you are faced with the old Windows 2000 menus. No nice Whidby menus, not even Office 2003 style menus. Open a few dialogs, all the icons are ancient. Nothing is 3D (except some of the new reporting dialog icons) and the status bar is from the 90s. Yikes it doesn’t even have a tabbed interface (someone really needs to do something about that {g})
Ofcourse this doesn’t matter one iota to the quality of the applications it produces, but these days the user experience is core.
Reason 4: It has the word ‘Fox’ in it
Although the word Fox has actually benefitted somewhat from the FireFox browser, over all, the words Fox and FoxPro are largely outdated. VFP really needs some rebranding to overcome this.
For many people there is a big stigma attached to the word FoxPro. They can’t disassociate it from the crappy FoxPro for DOS application they used in a company 10 years ago (my attention has turned to older developers here).
But even more recent developers remember the FoxPro that came with Visual Studio 6. They saw it there, but can only really remember the bland 16 colour icon it had. Again, the perception is that it is old and irrelevant.
And don’t underestimate the need for branding. Take Microsoft FrontPage for example. The stigma attached to FrontPage from prior versions (where it used to bastardise your HTML) was so bad that Microsoft knew they had to rebrand it. And so what was originally going to be FrontPage 2007 has now become Microsoft Expression Web Designer Edition (check out the demos for it here and you’ll see what I mean). Same product, different perception.

 

2. Why it matters
So what if VFP isn’t cool – it still does what we VFP developers need right?
Wrong. The biggest problem VFP faces going forward is lack of developers. The VFP programmer pool is most likely reducing.
I am assuming most people will agree with this statement.
The challenge for a VFP devleopment shop is not the technology, its the people. If you want to grow your business and take on new developers you need to have a good supply of them to choose from. So why are there less VFP developers?
This is because all the new uni students are studying .Net or Java. There are exceptions ofcourse, but this is the general trend (and I suspect this is happening in India and Asia aswell, not just in Western countries).
And why aren’t uni students learning (or interested in atleast knowing about) VFP? Put aside the hype and huge marketing push from Microsoft for a minute and it all comes back to the coolness factor. If we could make VFP cool, we’d get more takers.
3. How to make Visual FoxPro cool
So, what can we do to make VFP cool? Here’s some ideas (some we can do, some are out of our hands):
Rebrand it (Requires Microsoft)
It is time to lose the word ‘Fox’.
Microsoft has not indicated what the next update/version will be called. For now it is simply code named Sedna. However, I have started referring to it as Microsoft VF.Net
The VF is short for Visual FoxPro, and the .Net refers to the strong integration it has with the .Net 2.0 framework. No, it doesn’t write .Net code, but it does use the .Net framework. It is a .Net aware language.
I’ve also changed the icon in the top left corner of the VFP IDE. So when people see me using VFP they see the caption as Microsoft VF.Net and the nice icon. You can also disable the splash screen using a config file, so, unless you look at Help > About there is not a Fox in sight.
I also use FoxTabs (even though it is still in beta and has a few known issues, and needs a name change {g}) which improves the design experience.
Revamp the interface (Requires Microsoft)
The interface needs an overhaul. Update the menus to be like Visual Studio 2005, spruce up the dialogs and splash screen. Note, we don’t need a single change in functionality, only the look and feel of the product.
Promote the .Net integration
In demos to a mixed audience (ie not confined to Fox devs) I will try to mention the new Sedna examples (and gee I hope there is a new CTP coming soon…). Developers don’t realise how easy it is to use VFP with .Net (both using Sedna and using .Net controls – check out Craig Boyd’s and Rick Strahl’s site for examples)
Promote the data binding
The stuff coming in LINQ for .Net is great. However, show people how much more they can do in VFP, and tell them they should campaigning the .Net teams to provide the same. .Net developers should be shouting about how badly they have been treated in the databinding stakes. Tell them they can use VFP as an example of how it is possible to do it.
Promote VFP as a helper tool
VFP is a great tool to use along side Visual Studio. I’m not trying to convince .Net developers to change over to VFP, but there are plenty of benefits they could derive by having VFP as a helper tool, including:
– Need to write some quick SQL Server unit tests? Use VFP to setup test data. Then use VFP to make SQL SP calls and check the data returned.
– Need to pull out some data into a spreadsheet – use VFP.
– Need to script some updates – VFP is great as a scripting tool, similar to a scripting language like VB script.
– Need to check if a COM object is installed – try a quick CREATEOBJECT call in VFP.
Promote VFP as a prototyping tool
VFP is a great tool for .Net developers to be building prototypes in. Whip up a form, throw on some controls, bind to some example data, deliver the app to the client in a tiny installer, etc
Spread the message
This is not a new appeal. Craig Boyd (and even myself) have called for action from the VFP community to help let other developer communities know some of the great stuff VFP has (if for no other reason than they can then put pressure on Microsoft to hurry up and get it into .Net {s}).
However, the message comes down to dispelling a few of the misconceptions about VFP. Here’s a few things we need to promote:
– VFP works great with .Net
– Sedna actually focusses on .Net interop
– VFP is an awesome connector to SQL Server
– VFP has inline SQL calls
– VFP is well supported and continues to improve
Wrap up
After reading my post I’d understand if you thought I was anti .Net. In fact, the opposite is true – for example I look after a team of 15, over half of which are .Net developers. We do a lot of ASP.Net, SQL Server and BizTalk development. But we also do a lot of Visual FoxPro development. My concern is over the perception VFP has and the longer term issue we will face getting more VFP developers. Hence my interest in improving the perception VFP has.
Your thoughts
If you are a .Net developer and can spare a minute to send me your thoughts on what you think of VFP and what it would take to convince you VFP is cool, I’d love to hear from you. You can email me (cb@talman.com.au) or leave a comment on this post.
Acknowledgements
Paul Stovell and Adam Cogan have given me heaps to think about, much of which has ended up in this post. Any biases, inaccuracies or perceived hostility is totally mine though.

 

49 comments

  • To Andy MacNeill:

    Re: your statement – It is very limited thinking to suggest that the only reason that Visual Studio has succeeded is because it is a superior architecture. It succeeds because Microsoft can immediately place a product by throwing money at it. Look at Borland. Most developers believed that it was the superior development tools maker and more – but their products failed. Lotus Improv was far and beyond Excel 3.0 – yet it failed. Why?

    ——————

    i.e. – VS succeeds because of marketing. That is a given. Still, the architecture and technical aspects of the product have to be in place first.

    It is a little hypocritical to scoff at VS for marketing reasons. After all, if VFP was marketed in such a manner that made claims beyond what it really could do – I doubt you would complain.

  • To Andy MacNeill:Re: your statement – It is very limited thinking to suggest that the only reason that Visual Studio has succeeded is because it is a superior architecture. It succeeds because Microsoft can immediately place a product by throwing money at it. Look at Borland. Most developers believed that it was the superior development tools maker and more – but their products failed. Lotus Improv was far and beyond Excel 3.0 – yet it failed. Why?——————i.e. – VS succeeds because of marketing. That is a given. Still, the architecture and technical aspects of the product have to be in place first. It is a little hypocritical to scoff at VS for marketing reasons. After all, if VFP was marketed in such a manner that made claims beyond what it really could do – I doubt you would complain.

  • Hi JVP,
    Firstly I want to thank you for taking the time to leave a comment on my blog – I value the opinions of everyone who thinks through an issue (and you definately do this).

    Secondly I want state up front that I hold you in high regard. I thought your comments on Andrew’s podcast were extremely relevant (and I said as much at the time: http://craigbailey.blogspot.com/2006/01/vfp-catching-up-on-my-fox-show-backlog.html).

    Thirdly however I think it is important to clarify what I consider our difference in opinion is (and please let me know if I’ve misunderstood). It seems that you consider the reduction in VFP developers to be aligned with the technical merits (or lack of them) of VFP. I, on the other hand think the issue is to do with perception. And I agree it is a symptom – ie lack of developers is a symptom of VFP not being cool.

    Your statement ‘In my opinon, “coolness” has little or nothing to do with the matter’ is I guess the main point I disagree with. Coolness (ie the perception of the product) has everything to do with it in my opinion.

    It is for this reason that I don’t get involved in the .Net vs VFP technical debates (in that regard I just hedged my bets and built strong VFP and .Net teams at Talman).

    So, here’s my agenda… I think many products are technically weak, yet with the right ‘spin’ or marketing they can become very ‘cool’. I won’t give examples, or else the discussion will get bogged down debating them specifically – not my aim. While ‘cool’ may be subjective (as you state), I suggest that many uni students are being told what products are ‘cool’. How much better then when the products (for example .Net or Java) are actually very technically strong. Making them cool is very easy. OK, so there is no dispute with why .Net or Java are cool. They deserve to be.

    However, the crux of my argument is that VFP is also capable of being cool. Let’s assume that you think VFP is technically weak (I personally think it is strong, but again that is not the issue as I see it). My argument is that even if it were weak, there are a few simple things that could be done to make it cool. And I then listed off a few in section 3. of the post.

    The main reduction in overall VFP programmer size is not due to existing (and possibly disgruntled :-) Fox developers leaving – although ofcourse that is a contributor – rather, it is because there are not many new developers entering. And I contend that the reason they are not entering is because they don’t think VFP is cool, not because they have appraised the technical merits. I’d further contend that universities perhaps don’t take technical merits into account too heavily when selecting which tools to teach (however I am on un-informed ground here – certainly in my software engineering degree the recommended tools were often inappropriate – but that may have changed these days – another blog post perhaps…)

    Later in your comment you indicate scepticism with IT professionals that claim expertise, but instead dish out bias – on this issue I agree strongly. I cringe when I hear some Fox devotees try to push for Fox solutions when a non-Fox one is clearly superior. I should point out that I also get slightly frustrated when .Net developers do like wise. This sin exists in both camps…

    Your parting paragraph correlating demand with technical merit is actually what I wish the issue were. Oh how I wish the number of developers was not tied to marketing, hype or simply a desire to work predominantly with new products. If only the perception issue didn’t get in the way.

    I’d be interested in your thoughts on how specifically we could make VFP cool – what would it take (and I suspect you will focus on technical items) to make you label VFP cool in your mind? Is it the SQL items you mentioned, the event binding perhaps, or other areas? Myself personally I’d love to see multi-threading available natively in VFP.

    Finally, I apologise if I’ve misunderstood some of your points. If so, please point me on the right path.

    Warm regards,
    Craig

  • Hi JVP,Firstly I want to thank you for taking the time to leave a comment on my blog – I value the opinions of everyone who thinks through an issue (and you definately do this).Secondly I want state up front that I hold you in high regard. I thought your comments on Andrew’s podcast were extremely relevant (and I said as much at the time: http://craigbailey.blogspot.com/2006/01/vfp-catching-up-on-my-fox-show-backlog.html).Thirdly however I think it is important to clarify what I consider our difference in opinion is (and please let me know if I’ve misunderstood). It seems that you consider the reduction in VFP developers to be aligned with the technical merits (or lack of them) of VFP. I, on the other hand think the issue is to do with perception. And I agree it is a symptom – ie lack of developers is a symptom of VFP not being cool.Your statement ‘In my opinon, “coolness” has little or nothing to do with the matter’ is I guess the main point I disagree with. Coolness (ie the perception of the product) has everything to do with it in my opinion. It is for this reason that I don’t get involved in the .Net vs VFP technical debates (in that regard I just hedged my bets and built strong VFP and .Net teams at Talman).So, here’s my agenda… I think many products are technically weak, yet with the right ‘spin’ or marketing they can become very ‘cool’. I won’t give examples, or else the discussion will get bogged down debating them specifically – not my aim. While ‘cool’ may be subjective (as you state), I suggest that many uni students are being told what products are ‘cool’. How much better then when the products (for example .Net or Java) are actually very technically strong. Making them cool is very easy. OK, so there is no dispute with why .Net or Java are cool. They deserve to be.However, the crux of my argument is that VFP is also capable of being cool. Let’s assume that you think VFP is technically weak (I personally think it is strong, but again that is not the issue as I see it). My argument is that even if it were weak, there are a few simple things that could be done to make it cool. And I then listed off a few in section 3. of the post.The main reduction in overall VFP programmer size is not due to existing (and possibly disgruntled :-) Fox developers leaving – although ofcourse that is a contributor – rather, it is because there are not many new developers entering. And I contend that the reason they are not entering is because they don’t think VFP is cool, not because they have appraised the technical merits. I’d further contend that universities perhaps don’t take technical merits into account too heavily when selecting which tools to teach (however I am on un-informed ground here – certainly in my software engineering degree the recommended tools were often inappropriate – but that may have changed these days – another blog post perhaps…) Later in your comment you indicate scepticism with IT professionals that claim expertise, but instead dish out bias – on this issue I agree strongly. I cringe when I hear some Fox devotees try to push for Fox solutions when a non-Fox one is clearly superior. I should point out that I also get slightly frustrated when .Net developers do like wise. This sin exists in both camps…Your parting paragraph correlating demand with technical merit is actually what I wish the issue were. Oh how I wish the number of developers was not tied to marketing, hype or simply a desire to work predominantly with new products. If only the perception issue didn’t get in the way. I’d be interested in your thoughts on how specifically we could make VFP cool – what would it take (and I suspect you will focus on technical items) to make you label VFP cool in your mind? Is it the SQL items you mentioned, the event binding perhaps, or other areas? Myself personally I’d love to see multi-threading available natively in VFP.Finally, I apologise if I’ve misunderstood some of your points. If so, please point me on the right path.Warm regards,Craig

  • To Craig

    See my inline comments below….

    Your statement ‘In my opinon, “coolness” has little or nothing to do with the matter’ is I guess the main point I disagree with. Coolness (ie the perception of the product) has everything to do with it in my opinion.

    JVP: I agree with you that perception is reality. The point I was making was that hard core VFP developers who believe the product is “cool” will need to be satisfied with that. i.e., the hearts and minds of those who have a different opinion will not change. Further, it is beyond the sphere of influence of those outside of Microsoft. Don’t forget, VFP has had a steadily declining role for about a decade. Is it a great tool? Absolutely! What I don’t do is confuse my personal subjective viewpoint with my objective opinions about VFP as evaluated against the backdrop of the I/T marketplace.

    It is for this reason that I don’t get involved in the .Net vs VFP technical debates (in that regard I just hedged my bets and built strong VFP and .Net teams at Talman).

    JVP: Most debates like this are not productive because those on the weaker side (objectively speaking) tend to over-evaluate the strengths of their tool and those on the stronger side (again, objectively speaking) tend to under-estimate the weakness of their tool. The point being is that often, both sides tend to get emotional and subjective. Objectively speaking, VFP is not in .NET’s league. Whether you are talking technical ability or the marketplace – hands down, .NET beats VFP. Does this mean VFP is worthless? Of course not. However, if I was in a position where I had to mitigate risk and evaluate technologies, VFP would down – way down on the list. Would .NET necessarily win? No. Would VFP necessarily lose? No. Java could win – or something else. I, along with a few others, actually walked the walk when it came to preaching the “best tool for the job” mantra. That is why we often preached VB for work that involved heavy use of the Win32API. In a limited number of cases, VFP has a hands down advantage. That advantage however, has more to do with the skill set of the development staff. Can that advantage outweigh the long terms risks of sticking with VFP? Maybe – maybe not?…

    So, here’s my agenda… I think many products are technically weak, yet with the right ‘spin’ or marketing they can become very ‘cool’. I won’t give examples, or else the discussion will get bogged down debating them specifically – not my aim. While ‘cool’ may be subjective (as you state), I suggest that many uni students are being told what products are ‘cool’. How much better then when the products (for example .Net or Java) are actually very technically strong. Making them cool is very easy. OK, so there is no dispute with why .Net or Java are cool. They deserve to be.

    However, the crux of my argument is that VFP is also capable of being cool. Let’s assume that you think VFP is technically weak (I personally think it is strong, but again that is not the issue as I see it). My argument is that even if it were weak, there are a few simple things that could be done to make it cool. And I then listed off a few in section 3. of the post.

    JVP: I agree – spin is everything. If MS promoted VFP – it would succeed. I asked Bill Gates back in 1998 why VFP was not being marketed to win. The fact is – VFP makes enough money to keep afloat. However, it’s technical base is not one that is worth investing in. This is why the innovations have been sparse at best.

    The main reduction in overall VFP programmer size is not due to existing (and possibly disgruntled :-) Fox developers leaving – although ofcourse that is a contributor – rather, it is because there are not many new developers entering. And I contend that the reason they are not entering is because they don’t think VFP is cool, not because they have appraised the technical merits. I’d further contend that universities perhaps don’t take technical merits into account too heavily when selecting which tools to teach (however I am on un-informed ground here – certainly in my software engineering degree the recommended tools were often inappropriate – but that may have changed these days – another blog post perhaps…)

    JVP: I have said this many times – that the population of VFP developers is not being sustained with new developers coming into the fold. The question is why? The coolness thing is a symptom – not a root cause. I say that because I will then ask you why isn’t VFP cool? You may say – because MS does not market the product. I would then ask why doesn’t MS market VFP. You could then say because VFP is not cool – a circular argument. The answer Bill G. gave me was that it was a market that MS was not interested in investing in. Why? Because there was no upside. Look at where applications are today. They are distributed and browser based. The trend has been in reducing tco through reduced distribution costs. Hey – for Joe independent developer – he can make a good living writing and delivering apps in VFP. For MS – a multi-billion dollar world wide enterrprise – the economics tend to be bit different.

    Later in your comment you indicate scepticism with IT professionals that claim expertise, but instead dish out bias – on this issue I agree strongly. I cringe when I hear some Fox devotees try to push for Fox solutions when a non-Fox one is clearly superior. I should point out that I also get slightly frustrated when .Net developers do like wise. This sin exists in both camps…

    JVP: – See my comment above about how this tool vs. that tool arguments tend to not be productive.

    Your parting paragraph correlating demand with technical merit is actually what I wish the issue were. Oh how I wish the number of developers was not tied to marketing, hype or simply a desire to work predominantly with new products. If only the perception issue didn’t get in the way.

    JVP: Except that if you put VFP through the technical wringer – it will come out on the short end of the stick. What it does – it does well. That said, if I were writing a web app today – I would do it in .NET – not in VFP using West Wind. I used West Wind and was a big fan of the tool. That however – was nearly 10 years ago…

    I’d be interested in your thoughts on how specifically we could make VFP cool – what would it take (and I suspect you will focus on technical items) to make you label VFP cool in your mind? Is it the SQL items you mentioned, the event binding perhaps, or other areas? Myself personally I’d love to see multi-threading available natively in VFP.

    JVP: First, if you take DBF’s and the local data stuff out of the picture – you have pretty much taken away the reason to use VFP. From my perspective, it has been nearly 10 years since I wrote anything that used DBF’s as a primary data store. My Law Practice notwithstanding, SQL Server and Oracle have been pretty much it. I still keep my fingers in the technology!! Over on profox – they are going ga ga over OOP menus in SednaX. BFG!! As Ed Leafe put it well – he was using them in CodeBook in 1995!! To be cool, something has to be relevant. To be relevant, it has to be innovated. The topics you see in magazines – some of which I wrote about in FoxTalk between 93 and 99 – are in their 5th, 6th, or 7th go-around. There is simply not much new to write about. And….for the stuff that is “new” – it is outside the scope of what VFP does well. In my opinion, if you are going to stray in the .NET world – then go there. Of course, the com/interop stuff is cool. That however, is all that you really need. I doubt that complex data types will be exposed in VFP. Again, what can be done is limited. Things like true events, etc. – keep in mind that VFP has had that stuff for a LONG time. If MS wanted – they could have put that in VFP too. If MS is destined to keep its thumb on the product – there is nothing anybody else can do about it.

    The archives are full of those who have had grand ideas about marketing and promoting VFP. Here is the million dollar question (literally) – If you had $2 Million – and if MS would sell you VFP – would you buy it??????

    John

  • To CraigSee my inline comments below….Your statement ‘In my opinon, “coolness” has little or nothing to do with the matter’ is I guess the main point I disagree with. Coolness (ie the perception of the product) has everything to do with it in my opinion. JVP: I agree with you that perception is reality. The point I was making was that hard core VFP developers who believe the product is “cool” will need to be satisfied with that. i.e., the hearts and minds of those who have a different opinion will not change. Further, it is beyond the sphere of influence of those outside of Microsoft. Don’t forget, VFP has had a steadily declining role for about a decade. Is it a great tool? Absolutely! What I don’t do is confuse my personal subjective viewpoint with my objective opinions about VFP as evaluated against the backdrop of the I/T marketplace.It is for this reason that I don’t get involved in the .Net vs VFP technical debates (in that regard I just hedged my bets and built strong VFP and .Net teams at Talman).JVP: Most debates like this are not productive because those on the weaker side (objectively speaking) tend to over-evaluate the strengths of their tool and those on the stronger side (again, objectively speaking) tend to under-estimate the weakness of their tool. The point being is that often, both sides tend to get emotional and subjective. Objectively speaking, VFP is not in .NET’s league. Whether you are talking technical ability or the marketplace – hands down, .NET beats VFP. Does this mean VFP is worthless? Of course not. However, if I was in a position where I had to mitigate risk and evaluate technologies, VFP would down – way down on the list. Would .NET necessarily win? No. Would VFP necessarily lose? No. Java could win – or something else. I, along with a few others, actually walked the walk when it came to preaching the “best tool for the job” mantra. That is why we often preached VB for work that involved heavy use of the Win32API. In a limited number of cases, VFP has a hands down advantage. That advantage however, has more to do with the skill set of the development staff. Can that advantage outweigh the long terms risks of sticking with VFP? Maybe – maybe not?…So, here’s my agenda… I think many products are technically weak, yet with the right ‘spin’ or marketing they can become very ‘cool’. I won’t give examples, or else the discussion will get bogged down debating them specifically – not my aim. While ‘cool’ may be subjective (as you state), I suggest that many uni students are being told what products are ‘cool’. How much better then when the products (for example .Net or Java) are actually very technically strong. Making them cool is very easy. OK, so there is no dispute with why .Net or Java are cool. They deserve to be.However, the crux of my argument is that VFP is also capable of being cool. Let’s assume that you think VFP is technically weak (I personally think it is strong, but again that is not the issue as I see it). My argument is that even if it were weak, there are a few simple things that could be done to make it cool. And I then listed off a few in section 3. of the post.JVP: I agree – spin is everything. If MS promoted VFP – it would succeed. I asked Bill Gates back in 1998 why VFP was not being marketed to win. The fact is – VFP makes enough money to keep afloat. However, it’s technical base is not one that is worth investing in. This is why the innovations have been sparse at best. The main reduction in overall VFP programmer size is not due to existing (and possibly disgruntled :-) Fox developers leaving – although ofcourse that is a contributor – rather, it is because there are not many new developers entering. And I contend that the reason they are not entering is because they don’t think VFP is cool, not because they have appraised the technical merits. I’d further contend that universities perhaps don’t take technical merits into account too heavily when selecting which tools to teach (however I am on un-informed ground here – certainly in my software engineering degree the recommended tools were often inappropriate – but that may have changed these days – another blog post perhaps…) JVP: I have said this many times – that the population of VFP developers is not being sustained with new developers coming into the fold. The question is why? The coolness thing is a symptom – not a root cause. I say that because I will then ask you why isn’t VFP cool? You may say – because MS does not market the product. I would then ask why doesn’t MS market VFP. You could then say because VFP is not cool – a circular argument. The answer Bill G. gave me was that it was a market that MS was not interested in investing in. Why? Because there was no upside. Look at where applications are today. They are distributed and browser based. The trend has been in reducing tco through reduced distribution costs. Hey – for Joe independent developer – he can make a good living writing and delivering apps in VFP. For MS – a multi-billion dollar world wide enterrprise – the economics tend to be bit different.Later in your comment you indicate scepticism with IT professionals that claim expertise, but instead dish out bias – on this issue I agree strongly. I cringe when I hear some Fox devotees try to push for Fox solutions when a non-Fox one is clearly superior. I should point out that I also get slightly frustrated when .Net developers do like wise. This sin exists in both camps…JVP: – See my comment above about how this tool vs. that tool arguments tend to not be productive.Your parting paragraph correlating demand with technical merit is actually what I wish the issue were. Oh how I wish the number of developers was not tied to marketing, hype or simply a desire to work predominantly with new products. If only the perception issue didn’t get in the way. JVP: Except that if you put VFP through the technical wringer – it will come out on the short end of the stick. What it does – it does well. That said, if I were writing a web app today – I would do it in .NET – not in VFP using West Wind. I used West Wind and was a big fan of the tool. That however – was nearly 10 years ago… I’d be interested in your thoughts on how specifically we could make VFP cool – what would it take (and I suspect you will focus on technical items) to make you label VFP cool in your mind? Is it the SQL items you mentioned, the event binding perhaps, or other areas? Myself personally I’d love to see multi-threading available natively in VFP.JVP: First, if you take DBF’s and the local data stuff out of the picture – you have pretty much taken away the reason to use VFP. From my perspective, it has been nearly 10 years since I wrote anything that used DBF’s as a primary data store. My Law Practice notwithstanding, SQL Server and Oracle have been pretty much it. I still keep my fingers in the technology!! Over on profox – they are going ga ga over OOP menus in SednaX. BFG!! As Ed Leafe put it well – he was using them in CodeBook in 1995!! To be cool, something has to be relevant. To be relevant, it has to be innovated. The topics you see in magazines – some of which I wrote about in FoxTalk between 93 and 99 – are in their 5th, 6th, or 7th go-around. There is simply not much new to write about. And….for the stuff that is “new” – it is outside the scope of what VFP does well. In my opinion, if you are going to stray in the .NET world – then go there. Of course, the com/interop stuff is cool. That however, is all that you really need. I doubt that complex data types will be exposed in VFP. Again, what can be done is limited. Things like true events, etc. – keep in mind that VFP has had that stuff for a LONG time. If MS wanted – they could have put that in VFP too. If MS is destined to keep its thumb on the product – there is nothing anybody else can do about it. The archives are full of those who have had grand ideas about marketing and promoting VFP. Here is the million dollar question (literally) – If you had $2 Million – and if MS would sell you VFP – would you buy it??????John

  • Great Post

    I encourage every VFP developper to blog, talk, make as much noise as possible about Visual FoxPro.

    VFP is a great great development platform (rather than tool)

    Th

  • Great PostI encourage every VFP developper to blog, talk, make as much noise as possible about Visual FoxPro.VFP is a great great development platform (rather than tool)Th

  • I like your post. I have been using VFP for a while and I see a lot of potential in this tool.

    We can’t leave the Fox disappear!

  • I like your post. I have been using VFP for a while and I see a lot of potential in this tool. We can’t leave the Fox disappear!

Archives