Visual FoxPro(以下简称VFP)一直是开发界中最安静的一分子。走遍大小技术社区、论坛,.NET、Java一直战火不断,先是互相发难,后来甚至同一阵营中的弟兄也开始同室操戈;就连历史悠久、底蕴浑厚的C/C++社区,也偶有(甚至是常有)纷争出现。然而,VFP的社区往往有如一湾内海,无风无雨无波浪,只是偶尔有人嚷嚷着“VFP已死”、“微软不再支持VFP”,犹如向这海中投下一颗石子,才会激起小小的一朵水花;然而,却没有太多的Foxer跳出来批驳,水花就这样淡去,石子也很快沉入海底。
Foxer在旁观
在写这篇文章之前,我们先在CSDN首页上做了个简短的调查(参见首页中部右侧),题目为“您使用什么工具开发数据库信息系统”。打开调查结果页面一看,不由得吃了一惊!下面是截止到2005年4月20日上午10时许的结果:
软件
票数
比例
ADO.NET
87
32.34%
Delphi
81
30.11%
PowerBuilder
37
13.75%
Visual Basic(VB6)
36
13.38%
其他
20
7.43%
FoxPro
8
2.97%
总投票数:269
VFP的使用者数量“遥遥落后”……我辈无知,并未体会过VFP的威力。也不曾有幸结识太多的铁杆Foxer。但就各个VFP社区的情况看来,这个数字是有出入的。更多的Foxer也许根本不曾投票,他们看到这个调查,可能笑一笑,然后关掉页面干活去了——他们可能根本不在乎这个数字。
其实粗略浏览一下VFP社区,并看不出与其他社区有什么不同。大家讨论着各种各样的问题,从菜鸟级的到大师级的。少了的只是诸如“VFP和SQL孰好孰劣?”、“我已经学完了VFP,该学什么?”等“无聊”的问题——Foxer是平静的。他们在看,但他们没有说。
微软在旁观
微软是不是真的不在乎VFP呢?笔者年轻,xBase时代的事情不敢妄提。不过Visual Studio 6.0中,VFP也是其中重要的一员。然而,5年过去了,Visual Studio .NET隆重登场,却不见“VFP.NET”的踪影,不禁让人浮想联翩。然而就在这些年里,VFP7、VFP8悄然登场,甚至VFP9也在大家沉浸在.NET与Java的硝烟中时,默默地震撼着老鸟级的Foxer。
其实只要大家经常光顾MSDN Library Online,不难发现VFP的大步前进,每一版本的“What’s New”页面里的内容都不比其他被微软大肆宣传的产品要少。
我们也从不曾听说“VFP延期发布”等“耳熟能详的微软新闻”,甚至VFP在一次次地冲击着其他产品,最经典的消息就是VFP6曾在VB6发布的前两天上市。
那么,对于这样一款稳步发展的产品,微软为什么不对它大加宣传呢?来自ICXO.COM的fbilo(冯宗任)朋友翻译了这样一则故事,现在转贴过来和大家分享:
注:本文来自ICXO.COM,略作文字编辑,望作者和读者见谅。
数据库101
本文来自les pinters database journal
作者:les pinter
译者:fbilo
多年前,克莱斯勒公司研制了一种可以用来改变柴油机发动机的汽化器的工具包,使汽车可以得到更好的油气英里数。它要花费超过500美元并且还需要为了它复杂的安装而付给机修工高额的费用。机修工们也乐于出售并安装它,所以每个人都很满意,除了用户。
军队对利用计算机技术来节省资金更感兴趣,所以他们委托克莱斯勒公司研制了一个基于计算机技术的模块,只需要花费20美元,它就可以做到需要500美元并且用一天的时间来安装的那套工具包所能做到的同样事情。但是,克莱斯勒从来没有被要求把这套新的模块出售给公众,所以他们从来没有出售它。
最后,他们的大客户给他们一个建议:对工具包的电路板做一点小的修改使之在启动时能够通过美国环保署的测试。然后,在接下来的一个小时里,自动的逐步重新设置使油气消耗和污染减小到像一个烟囱那样。他们照那样做了,汽车工业卖了数万个这种东西并嘲笑美国人民。
从这里克莱斯勒就赚了十亿美元。
克莱斯勒的价格政策并非是违法的。这个政策非常完美:同时拥有两个产品,其中一个比另一个更好、更快并且更便宜,但他们不会告诉用户这一点。违法的是他们从事它的途径。这种情况一直持续到他们的贸易行为伤害了美国政府以至于美国政府介入此事为止。克莱斯勒不关心它浪费了消费者或美国人民多少钱,他们只是考虑怎么增加他们的剩余价值。
Microsoft出售两个数据库工具。其中一个是VFP,快速而便宜,并且不需要额外的花费,你只需付一次钱。另一个(套)是VB和SQL Server,需要的花费像它们的体积一样庞大并且运行得相当缓慢。VFP用户也能使用SQL Server,但是他们从来不转移到SQL Sever上去——他们根本不愿意这么做。他们从来不认为有这样的需要,甚至很少谈到SQL Sever。但是不给用户以可供的选择,他们将继续被蒙蔽下去。只给他们一种本地表达到五万个记录就会窒息的语言,并把SQL Server作为唯一能挽救他们的开发投资的途径。他们将会跟从这个潮流,他们不得不这么做。
我不知道让你的用户花费两万美元而忽略了五百美元这么做是否违法。我同样不知道推荐一个对大多数数据库项目来说据称过度结实的技术是否合法。但它看起来是错误的。
对一个公司来说,高昂的成本并不是最重要的坏事。你的竞争者也必须忍受同样的成本。在所有的商业中,被迫从低成本的技术转移到高成本的技术因而被击败是理所当然的。如果你的程序员决定使用SQL Server,而你的竞争者使用一种更好、更便宜的技术,那么你将陷入经济的劣势。如果你的竞争者和你一样做了,那么你们的成本是相同的。在你所在的行业中没有人会失去什么。
除了美国消费者。
为什么我像是整个IT行业中唯一推荐VFP的程序员?记得在大学里不要跟随潮流吗?记得含沙射影的诽谤的力量吗?“如果它那么好,为什么Microsoft不为它做广告?”他们肯定羞于谈到它。“真相是不能被掩盖的。”Microsoft知道VFP是多么棒。SQL Server的销量将会以百万美元计地减少。现在你知道故事的其余部分了。
我们是这个“善意”的疏漏的关键。为了被看作是正义的,Microsoft不能杀死VFP。但是我们能。如果我们屈服于诽谤并保持沉默,那么Microsoft赢了。我们和我们的客户、还有客户的客户,都是失败者。通过低头承认失败,我们可以被允许做出看起来像是对的一方的样子。我知道逆潮流而行是困难的。我已经被要求不要唤起人们对这个问题的关注,但我还是坚持并期待着。我希望你也那么做。
既然Microsoft不再宣传VFP,我已经有了一个用两种方式建立同样的一个实例程序的方案(不管别人怎么称呼它),我们公平竞争。这个项目没有买主。所以你自己来试验一下。选择任何一个应用程序,用两种语言来完成它,然后比较开发的结果。这是一。然后装入10万个纪录并都运行它们,比较它们的性能。这是二。最后,现在考虑配置一个SQL Sever的成本——这时唯一治疗mdb文件像冰河一样缓慢的性能的方法——当然你必须忍受像SQL Server的体积那么大的成本,然后加入一个数据库管理员的成本,除非SQL Server 7.0能够再为你节省10万美元的隐藏成本。
这不是一个竞争,这是一个智商测试。
从上面这则“有趣”(可能略带些酸味)的短文,我们不难体味到,微软这么做并非对VFP失去信心或不再重视它,而是坐在那里乐滋滋地看着大家争论着孰是孰非,然后数着手里的钞票。姑且不论微软是否违法,总之,他们是旁观者,而我们在人群里不停地上演“周瑜打黄盖”(谁是周瑜,谁是黄盖,大家心里都有数吧)。
Visual FoxPro:我是旁观者
俗话说:当局者迷,旁观者清。VFP真的好像置身事外,无论是开发它的人,还是使用它进行开发的人,都在沉默着。但是就技术而言,VFP是个不断成长的小伙子,蛮惹人喜爱的,希望更多的朋友把这位旁观的朋友拉到圈子里来,共同交流,共同成长。
草撰本文,并非推崇VFP,也不想责骂微软霸权。只是希望开发者朋友们能够正视自己手中的技术,并且尊重他人掌握的技术。口沫横飞的争吵是愚蠢的,互相切磋学习、互助提高才是学习技术的正确方法。
请参见: