Wednesday, September 14, 2005

A fundamental shift in programming for most, a sigh of relief and a breath of excitement for us!

Paul Vick formally announced Project LINQ yesterday at PDC. LINQ stands for "Language Integrated Query". LINQ brings standard query operations into the .NET platform. Wow, an object oriented language with rich query syntax... hmmmm... sounds vaguely familiar ;-). This is what I've personally been waiting for ever since I moved into .NET programming from Visual FoxPro work. Paul is right; this does represent a fundamental shift in programming for most developers. When you have a language that supports this style of programming, the architecture of your applications change. You start to think about dynamic data (and metadata) as the engine of your application. It's not to say you can't create dynamic data-driven applications right now in .NET, it's just a lot harder. When you can write elegant queries directly into the editor you tend to favor that expressive style when working with data instead of a rigid strongly-typed object approach. For instance you could write a function that performs some complex operations on changing data but apply it inside of a select query for only the matching pieces of data; and you can do it in 5-10 lines of code instead of 100 lines of for each's and if statements.

Now for the people of the Fox this is the only logical way to work with data inside of an application so I think that's one of the major reasons people stay working with Visual FoxPro. However, VFP is not a strongly-typed language, it's execution is slower and it's based on COM. But because VFP is loosely-typed you can get away with a lot of slick dynamic, scripting-style programming.

What the architects of LINQ are doing is amazing. They are bringing query comprehension to a strongly-typed environment. However, I'm personally excited about the future of VB.NET. VB.NET is strongly-typed AND loosely-typed at the same time. In my opinion that will make VB.NET the preferred data-oriented programming language and the language of the future -- especially for information systems.

I hope that Visual FoxPro programmers will take a hard look at VB.NET if they haven't already. There is a lot of opportunity for you here because we already know how data-based applications should be written using query in the language and we can provide invaluable feedback to the architects of LINQ and VB.

1 comment:

Bill said...

Beth - as a longtime xBase developer (20+ years) and having recently moved over to .Net, I have to say my experience is much the same as yours.

VB.Net is a goor language, but the data handling capabilities are weak at best. I've been very pleased to see the news about planned improvements in that area.