Tuesday, September 9, 2008

Rant & Responses on MS's "practice of killing markets" (Wiki: Fox.wikis.com)

From here:

The xbase market is gone. VFP's xbase roots are an irrelevancy or even possibly a negative in 2002. xbase was once the king/queen of development options and "FP vs dBase" the battle of the titans. Their demise was never on technical grounds, driven by politics and marketing until only MS has a mainstream tool in the area.
The "lay to waste" description isn't mine, but the once awesome xbase arena is certainly down to one. Sure MS continues to support this solitary player but it also does its best to promote the excitement in the theatre next door... and the audience (and we) respond to that. -- John Ryan
VFP represents the last bastion of the mid-range database/application development environment market. That's the category Microsoft is bent on destroying. This isn't about xBase, it's about the huge segment of the "database" market that once thrived with products like dBase, Clipper, Clarion, Delphi, FoxPro etc. I think you all know exactly what I'm talking about, and it's ridiculous to lump products like Access and SQL Server into this crowd, denying the existence of a very substantial and distinct category of which VFP is a part. It's also ridiculous to pretend that Microsoft is allowing this segment to thrive with its ongoing "commitment" to VFP. What a joke! Isn't it completely obvious what's going on here? They can't be too blatant about it, so they pretend to support VFP with one hand, while they hold it back with the other. Pretty soon the last vestiges of any competition wither and die, and then oops, well I guess this segment just happens to disappear altogether. Didn't everybody know we'd really be better off paying annual licence fees for SQL Server. So what if everyone loses, so long as Microsoft wins, right? Hey, this is business, so anything goes if it helps the bottom line, right? All's fair in love and war, but what about business? Say, isn't that what anti-trust laws are all about? Doesn't the notion of a competitive marketplace figure into this somewhere? Are the interests of society as a whole really being served by allowing Microsoft to kill off every category of software that doesn't fit into their plans for world domination? VFP isn't dying a natural death, it's getting a daily dose of arsenic from Microsoft, and if you guys are too dense to see that, you'll just have to wait for the autopsy report.

---

Just because xBase used to be the "king" of data base apps it doesn't mean MS "killing" xBase is a bad thing. What langauges got left behind? The ones that didn't go OO. Thats not MS's fault, in fact, according to your logic you should be praising MS for making it OOP allowing it to stick around while its competition died. Also, as far as databases go, VFP's database is not the future. Sorry, thats the truth. The complete lack of security and maintainablility issues compred to MSDE or SQL Server make this xBase product a tough sell, especially in the middle of Microsoft's new "awakening" in security with "trustworthy computing"

---

I just recently trained some public sector employees on SQL Server access from VFP. They were awestruck by the ease and simplicity of remote views AND the choice to use SQL dataset or xBase record oriented data manipulation from there. VFP database is an unsecure, weak and unreliable data store for anything but small apps, but the VFP cursor manipulation with SQL backend data can't be beat. If for nothing else, I sure hope VFP stays around for a long time for the middle tier. I see its benefits mainly in the middle tier data manipulation, secondarily as a way to create self contained and inexpensive database program solutions.

2 comments:

Rick said...

Visual Foxpro is the most awful development language ever invented. Constantly I've had to struggle to try to get around the language's (or the development environment's) limitations.

For starters, who had the brilliant idea of making forms DBF-based? It's awful! Not because they're stored in a DBF, but because DBF's have these memo files attached to them.

Try to mix that with source code control (CVS, subversion) and you're in for a mess.

Worse, I'm stuck with VFP7 (lack of budget to upgrade), and therefore I'm unable to do custom event handling, which was around in other toolkits like wxWidgets since the early 90's.

Why didn't Microsoft make an incompatible change and do it right for once? Make the forms text-based. Period.

Because right now we're stuck in this maze of IDE-based source editing. I can't simply take a text file and edit it, or do a multiple-file search for some piece of code. No, I have to open each form, do a search in ALL methods, etc. etc. etc.

Arrays. A procedure can't return an array. No, you need to create an object, put an array inside, and return it. Huh?

And please, please, why didn't they got rid of field precedence when dealing with local variables vs. table fields?

If I make a third party library, I need to prefix a "m." to EVERY SINGLE ONE of the uses of my variables. Why? Because if I have a variable called "name", there's the slight possibility that an open table has a field called "name". Wham, weird bugs begin to appear.

Now let's go to SQL and string handling. I grew up in MySQL. I make strings and execute them in the server. If I want to do this with Foxpro (because otherwise you're doing hardwired SQL statements and it's a huge mess to search and replace), I need to replace quotes with a closing quote, " + CHR(34) +", open a quote again... why didn't microsoft use the traditional backslash for escaping characters?

Do you know how we do source control? We need to get permission to modify a file, copy it to a shared folder in our "server", pass it around, everytime the boss changes anything we have to copy everything from scratch.

And then, there's no separate file to specify the current default directory. Everytime we change projects, we need to do "SET DEFAULT TO C:\YOURPROJECT". Every single time.

Again, trying to add this to source code control is frustrating. Why doesn't a project include a setting to use relative paths?

In short, trying to do collaborative development in Visual Foxpro is practically impossible. And I'm doomed to do it as long as I am on this job.

I completely despise Foxpro. It's nearly given me nightmares and I've been having to take anti-stress pills to contain my frustration.

In fact, this is the very reason I'm quitting my job.

Foxpro sucks (just as every other Microsoft "technology"), and it should die already.

Crazy Like a Fox said...

Thanks for the post, Rick.

Rare is the person who will say that Foxpro sucks. You took it a step further by backing it up with arguments and first-hand experiences of VFP's shortcomings.