VB and VFP, teams and technologies working together

For many years, Microsoft has stated that there probably will never be a new VFP.NET language nor any conversion tools for moving VFP source code directly to .NET. The runtime, language, event model, etc. is all unique in VFP compared to the .NET CLR (common language runtime) and .NET Framework classes. Any conversion tool that would get some VFP code to run in .NET would probably result in poor architecture implementation, sometimes with no direct code mapping. The conversion issues and limitations are very much like the FoxPro 2.x to VFP 3.0 conversion kit, which mostly worked in some cases via code but rarely resulted in a solution architecture that would be recommended for use for long term use and maintenance. The various ways of moving a VFP solution the .NET managed code platform is to re-write a new application on the .NET platform from the ground up, to expose part of the VFP application as COM object DLLs and call into them from .NET code via COM/.NET interop, and to call COM based .NET wrapper classes from within VFP, as well as using XML web services in some cases.

Any documentation or architecture that exists on learning VS 2005, VB.NET/C#, SQL Server 2000/2005, etc. would work pretty much the same for them since learning .NET from the start in a normal way is what they will need in either case. The VFP team has stated for years that our goal while enhancing VFP with backward compatibility is to also help the VS teams add VFP-like features to .NET programming, mainly VB.NET, to help evolve it to be more and more like what a VFP.NET would be. The result is a very solid, functional, and backward compatible version of VFP in 9.0 and more and more VFP like functionality on the .NET platform. Parts of Sedna will be written in VB 9.0, and our current plans are to include all of the source code (VFP, VB, C++, etc.) of Sedna with Sedna.

I will be joining some of the VB team members on a public online chat next Tuesday from the MSDN Chat's web page, a chat on Visual Basic 9.0 Language Enhancements: November 1, 2005 at 1:00-2:00pm pacific time. Quick links: Add to Calendar and Enter Chat Room.

Description: Have you been hearing and reading about many of the exciting new features being planned for a future version of VB beyond the new version VB 2005? Would you like to get more details on what is planned for VB 9.0 directly from VB team members? Would you like to provide the VB team with feedback based on what you have seen coming in VB 9.0? Join the Visual Basic language design team to discuss some newly announced VB 9.0 features including Language Integrated Query (LINQ) and XML Literals that are expected significantly enhance the world of VB programming! If you've already read the whitepapers, played with the web preview releases at msdn.com/vbasic/future, or watched the channel9.msdn.com video interviews on VB 9.0 – then this is your invitation to talk with Visual Basic team members on whatever’ is puzzling you and delighting you about future VB language features.

For developers interested in learning more about what new VB technologies recently just been released including VB 2005, here are some resources I compiled together for reference. This is related to what is being worked on for the Sedna project and how these technologies will be adding functionality to VFP. On the VB web site on MSDN, there is a VB 6.0 Resource Center called VBRun. On VBRun is a section called VB Fusion described as: Many organizations have a significant Visual Basic 6 code base and are seeking to make the best decisions regarding this legacy code. One choice is to keep your Visual Basic 6 code, and interoperate with Visual Basic .NET to easily add functionality from the .NET Framework to your existing application. Best practices for this last option, known as VB Fusion, are discussed in this paper. Most content and context of information about VB6 moving to or working with VB.NET is very similar to the topic of VFP migration to or working with VB.NET. A useful whitepaper exists on the VB Fusion site called Using the .NET Framework Class Library from VB6, which is related to the VFP 9.0 and .NET Framework interop efforts being worked on for Sedna. The VB 2005 resource center includes many whitepapers including some on the new My Namespace feature set in VB 2005 which is something the VFP team is working on for Sedna to support My Namespace like functionality in VFP.

Some cool demos where shown in the Southwest Fox 2005 keynote on VFP interop with .NET technologies, much of which is described in the Southwest Fox 2005 UT report and outlined in the Southwest Fox 2005 keynote slide deck. I will be working on getting some of this information compiled into some useful discussion and demos for a new Channel 9 video in the near future, possibly in the January timeframe. In addition, there is a .NET for Visual FoxPro resource page on the VFP web site with technical information with a Visual FoxPro perspective for learning and programming on the Microsoft .NET platform. Today, over half of VFP developers surveyed state that they use SQL Server with VFP. Our VFP surveys also show that over half of all VFP developers have plans to use .NET in some form within the next 2 years if they haven't started already, either for new applications or for adding new functionality to existing VFP applications using interoperability. Sedna is focused on interoperability and extensibility, and this blog post is a first in many on the topic of interop.