Sunday, September 24, 2006

Welcome to Tod means Fox

In Middle English, 'todd' means 'fox' which probably in some way refers to 'fox hunter'. Is it just a coincidence that someday I would be a FoxPro developer and have my very own Fox blog? Probably, but hey -- it is a little odd. Tod (with a single 'd') is how my name is actually spelt. In Scotland, tod refers to an especially clever or wily person. I'd like to think that this is no coincidence!

Anyway, this blog has a single purpose: to discuss Visual FoxPro and the various technologies that touch it. Every week I will attempt to publish a new entry discussing some aspect of VFP. My intent is to spark some discussion, teach a little, and learn a little. I will try to make each new topic relevant in some way and I invite all interested parties to contact me in private if you would like to discuss a certain topic. In fact, I encourage it.

Now for some background: I have been a FoxPro developer for more than a decade. My experience goes back to the days of FoxPro 2.6. I have had the pleasure (gulp) of migrating systems from 2.6 to to Visual FoxPro; I consider one of my strong points. Another strong point is my ability to design intuitive user interfaces (so I've been told). Many FoxPro developers seem to forget that there are standards (i.e. menu positioning, resizable forms, keyboard shortcuts, reading from upper-left to lower-right): Not me. I spend time designing aesthetic systems that are intuitive and easy to navigate. Many people look at my interfaces and can't tell if they are written in FoxPro, C++, or some other language.

In addition, I have taken the time to educate myself on database theory (something many programmers never really do). As a result, I tend to develop my VFP applications in a way that is friendly for n-Tier environments. ANSI92 compliant SQL statements clutter my code, making each procedure or method easy to understand and compact (working with sets of data is always more concise than looping through a table). SQL Pass-through, COM integration, and other technologies that communicate with other software systems, data formats, and devices are all technologies I have used and am familiar with. I have yet to stumble upon a business problem that can't be solved with Visual FoxPro (even the 2gig file-size limit has good workarounds).

I like it when I hear people say that they hate FoxPro, that it is dead, or when they complain about an annoyance or limitation. I feel that this is an opportunity to open a dialog on the issue so that we all can learn a little something. In my experience, I have never come across an issue with FoxPro that couldn't be resolved with a programming workaround, simple design change, or with better memory management. Of course, there are known limitations (2 gig file size) and issues (C0..5 under certain circumstances) but these are easy to recognize and plan around.

FoxPro is a great development environment and language (and I know a few others) with a powerful engine, sufficient native database, and excellent GUI tools. Now lets get started!

1 comment:

SH said...

Wiki cool Idea.