Visual FoxPro has gone from utter obscurity two years ago to showing up all over the place these days. Visual FoxPro has been a meteor on the TIOBE Index first showing up in the top 20 some three months ago and now eclipsing the likes of VB.NET, Pascal, and COBOL. Mary Jo Foley has taken recent notice and posted repeated news articles and blog entries about Visual FoxPro and the VFP Community (that she endearingly refers to as the FoxPro Faithful). ENT News has taken note in a few articles. And, RemondMag.com has FoxPro popping corks. Presumably these corks are on champaign, but with Visual FoxPro’s recent increase in visibility there may be some who weren’t expecting (or wanting) this popping corks of another kind.
Now some may find this increased exposure all very surprising. I mean, who knew that Visual FoxPro existed or that it was even a Microsoft product? But to me, all of this was inevitable. Visual FoxPro serves the customer base that Microsoft has neglected to provide for in their other offerings, namely Visual Studio. Developer shops not doing large team development projects and customers that are looking for super-fast, robust, data-centric applications that won’t break the bank. Can Visual Studio create applications that handle data? Sure, but it doesn’t hold a candle to what Visual FoxPro can do and LINQ isn’t going to shore up the difference. Can Visual Studio be used by a small development team on a small to medium-sized project? Sure, but that’s not the target Microsoft has shot for with Visual Studio.
What about .NET?
.NET is an incredible framework of thousands of classes that can help developers produce modern looking, feature rich Windows applications. Well then, I guess Visual FoxPro is doomed since it’s not a .NET language, right? Quite the contrary actually. As a non-.NET language Visual FoxPro gets to continue creating data-centric applications with blinding speed and flexibility, and at the same time it can leverage the .NET framework where and when appropriate through the use of .NET assemblies and COM Interop. I’ve already shown many examples on this blog of .NET controls and code being run from Visual FoxPro. You can even compile and execute C# or VB.NET code from Visual FoxPro using .NET’s CodeDom if you want to. What I’m saying is that .NET is just a big beautiful framework of classes and it can be leveraged from a whole host of languages… Visual FoxPro included. Visual Studio isn’t the only development tool out there that can produce .NET assemblies or utilize the .NET framework… that was the whole point of .NET – to be language independent.
Visual FoxPro knows data
Visual FoxPro is probably one of the most misunderstood languages/development tools on the planet. Most people think that Visual FoxPro is just a database that uses flat files (DBF) for storage. While Visual FoxPro does provide developers with a time-tested, feature-rich, database they can use, Visual FoxPro’s real power is in creating database applications that access and modify data regardless of the backend. That data can be in a Visual FoxPro database or in SQL Server, MySQL, Postgres, Oracle, XML files, Access… whatever. Visual FoxPro knows data and knows how to work with it regardless of the source. Feature rich Windows front-ends (screens and reports) for any of these data sources can be created better and faster with Visual FoxPro than with any other development platform in the world. What? That can’t be true can it? Yes, it is true, that’s not an overstatement and I didn’t mispeak. Data-centric Windows applications accessing any of the aforementioned backends can be created better and faster with Visual FoxPro than with ANY other development platform in the world.
A few other things you might not know about Visual FoxPro…
- it’s object-oriented (one of the first OOP languages Microsoft had for that matter)
- its built-in feature-rich database is royalty free (no per seat license fees anyone?)
- is rabidly supported by a large community of developers (many of which have decades of experience developing FoxPro applications – how many years of experience do the developers on your project have in the tool they’re using?)
- not originally a Microsoft product (MS purchased it because it was better than anything they had)
- it comes with a built in reporting engine (no 3rd party product needed – who would have thought that reports would be important to data-centric applications?)
- you can purchase it today for about $550 from all kinds of places (like here, or here, or even here)
- it’s got a really cool logo
What’s next for FoxPro?
Taking over the world. Either get on board or get out of the way.
UPDATE: 03-12-2006 Thanks to Alex Feldstein for pointing out Visual C++. Visual C++ 1.0 was released in 1993 while Visual FoxPro 3.0 was released in 1995. Subsequently corrected blog entry regarding Visual FoxPro being first Microsoft object-oriented language.