我非常同意你的说法.VFP应该彻底消灭.

解决方案 »

  1.   

    这个观点有点片面,“消灭VFP!!!”也只是空想。呵呵
      

  2.   

    不能这么简单地说吧。
    象很多东西如Trigger 
    View
    Index等 VFP支持得都比Access97好。作为桌面数据库,目前来讲它的功能还是较强的。
    就程序员的角度讲,使用VFP开发的速度要快于vb+Access.不过我同意你的“体系、概念和通常的DBMS都不一样”
    这一点,它连使用索引都要在查询时指定#^$@#&@#*&@但我也早就不用Fox了。不为别的,以后我还想再干几年呢。
      

  3.   

    不要小视foxpro,上交所不就一直在用它吗???????????
    我的主张是桌面型与关系型分开!
      

  4.   

    消灭VFP??
    KAO!你懂个屁!有没有开发过桌面型查询系统?
      

  5.   

    VFP为什么? “VFP还有前途吗?”、“VFP落时了,赶快放弃VFP吧!” 
    在各种VFP的论坛、BBS上常常见到这样的问答。即使是大名鼎鼎的《电脑报》,也堂而皇之的在一篇论述编程语言的文章中说道“微软不再发行VFP的下一个版本了”。 
    真的是那样吗? 
    事实恰恰相反。 
    关于微软不再发行VFP的谣言并非是今日才出现的。早在VFP5的时候,就已经出现了不会再有下一个VFP版本的谣言,然后,VFP6发行了。 
    现在又有了VFP6不会再有下一个版本的谣言。 
    这种谣言广泛的传播于非VFP程序员中,并且深信不疑。 
    可是,让他们失望的是,今年10月,在VB7 Demo发行前两天,VFP7 Demo先发行了。 
    来自VFP DEVCOM 2000的消息指出,VFP7正式版将在明年春季发行,目前主要的工作是使VFP7适合于 Microsoft .Net 框架。 
    所谓的VFP6不再有下一版的谣言,大概又会变成VFP7不再有下一个版本了吧? 为什么会有这种谣言而且流传的这么广呢? 不妨让我们先来看一下VFP中的“天字第一号”问题: 
    “为什么我的程序编译完成以后,运行时却一闪而过?” 
    这个问题已经被提出了N千次了!几乎每个初学者都要在网上问一遍这个问题,老鸟们回答这个问题都答厌了。其实这个问题并不难,只要读过任何一本教科书,都会告诉你:要做一个主程序,在其中建立Read Events...Clear Events的事件循环。解决问题很简单,但为什么几乎所有人都视而不见呢? 我想这就是问题的关键: 
    绝大多数人,他们喜欢的是一个不用学习、看书,拿起来就可以用的语言;他们需要的,只是一个“可视化”(Visual)的较好的、不用写代码或只要写很少代码的开发工具,如VB、PB。 
    大多数人使用一个新的开发工具的时候,跟使用一个工具软件差不多:拿起来先用,碰到难题时才去看书、看帮助,当然,最好不用看书、看帮助,现在不是有Internet了嘛,干脆,上网去问别人。 
    这样,他们评价一个语言的好坏的标准,就主要的集中于这个语言的可视化水平的高低,也就是说——只用图形界面、不用代码编程的水平的高低。如果C/C++是一门今天才出现的新语言,那么肯定也会被打入“已经过时了”的冷宫.... 
    一个广泛的误解是:许多人甚至认为可视化的程度越高,这个语言的面对对象程度就越高。很少有人搞清楚:到底VB和VFP哪个才是面对对象的编程语言。 
    所谓的面对对象编程,主要是指语言的四个特征:抽象、封装、继承和多态性。具体的讲,要判断一门语言是否视面对对象的,只要看看它是否能够建立自己的类、能否派生子类、建立自定义属性、方法就可以知道了。 
    过去,我们宣传一个面对对象编程语言的好处是:使用图形界面的向导、生成器,可以不用代码、或只用很少的代码就可以快速开发应用程序;提供了大量的控件,可以使用户直接在自己的程序中使用它而不用去管它的内部细节。 
    这些优点并没错,但它们只是面对对象编程思想的外在表现,而前面的四个特征才是面对对象编程的本质。打个比方:如果我们把这些优点比作金子,那么这四个特征就是点金术。 
    这些点金术VB中都没有。而VFP几乎从它诞生起就实现了。其实,在这方面,一直是VB在慢慢的向VFP靠拢。这就是为什么VFP用户总是在惊讶:人人都说VB好,可为什么许多让VB用户们大声赞誉的VB5、VB6的“新特性”听起来好像都是VFP3里就有的东东? 
    据说,VB7才会真正支持面对对象。有些人开始担心,一旦VB开始实现面对对象了,VB的用户将会大大减少.... 
    这是一个重要的原因:大多数用户,他们只需要别人提供给他们现成的ActiveX控件,很少或者根本不愿意去自己建立一个控件。他们只想用现成的ActiveX控件来拼装自己的程序,而不想用面对对象编程原理、编程思想来设计自己的控件。虽说人人都知道,点金术比金子好,可大多数人总是怕点金术掌握起来太麻烦,宁愿用别人点出来的金子.... 
    遗憾的是:对于VFP来说,面对对象编程原理是至关重要的。不能理解面对对象编程的思想,就无法用好VFP。 当年,foxer的队伍曾经相当的庞大,国内程序员使用的开发工具似乎除了C/C++就是fox了。但是,当fox从foxbase升级到foxpro 2.x的时候,许多人被挡在了门外,因为他们不能理解可视化编程的思想;从foxpro 2.x升级到VFP3.0的时候,又有更多的人掉队了,原因是无法接受面对对象编程思想。当初国内曾经盛极一时的MIS公司现在几乎都已经销声匿迹了。 
    我们发现,让fox的老用户理解新的编程思想相当的困难,结果是:他们要么继续用foxpro2.x,要么在开始转学VB、PB、Delphi。在这方面,他们中许多人甚至不如从未学过fox的初学者。 
    今天,还有许多人把VFP6当成foxpro 6.0,仍然在用面对过程的思想在VFP下编程,他们的程序里还是充斥着 @....Say、@....Get之类的东西。当他们使用了VB以后,理所当然的认为:VFP过时了! 
    看到这里,读者大人们可能不服气:你说的再好,微软为什么不大力支持VFP?为什么几乎不宣传VFP? 
    OK。这个问题还是由Les Pinter来回答吧!下面是我翻译的Les Pinter的经典文章《数据库101》: 
    数据库101 
    本文来自Les Pinter's Database Journal 
    作者:Les Pinter 
    译者:fbilo 多年前,克莱斯勒公司研制了一种可以用来改变柴油机发动机的汽化器的工具包,使汽车可以得到更好的油气英里数。它要花费超过500美元并且还需要为了它复杂的安装而付给机修工高额的费用。机修工们也乐于出售并安装它,所以每个人都很满意,除了用户。 军队对利用计算机技术来节省资金更感兴趣,所以他们委托克莱斯勒公司研制了一个基于计算机技术的模块,只需要花费20美元,它就可以做到需要500美元并且用一天的时间来安装的那套工具包所能做到的同样事情。但是,克莱斯勒从来没有被要求把这套新的模块出售给公众,所以他们从来没有出售它。 最后,他们的大客户给他们一个建议:对工具包的电路板做一点小的修改使之在启动时能够通过美国环保署的测试。然后,在接下来的一个小时里,自动的逐步重新设置使油气消耗和污染减小到像一个烟囱那样。他们照那样做了,汽车工业卖了数万个这种东西并嘲笑美国人民。 从这里克莱斯勒就赚了十亿美元。 克莱斯勒的价格政策并非是违法的。这个政策非常完美:同时拥有两个产品,其中一个比另一个更好、更快并且更便宜,但他们不会告诉用户这一点。违法的是他们从事它的途径。这种情况一直持续到他们的贸易行为伤害了美国政府以至于美国政府介入此事为止。克莱斯勒不关心它浪费了消费者或美国人民多少钱,他们只是考虑怎么增加他们的剩余价值。 MicroSoft出售两个数据库工具。其中一个——FoxPro——快速而便宜,并且不需要额外的花费,你只需付一次钱。另一个——VB和SQL sever——需要的花费像它们的体积一样庞大并且运行的相当缓慢。FoxPro用户也能使用SQL,但是他们从来不转移到SQL sever上去——他们根本不愿意这么做。他们从来不认为有这样的需要,甚至很少谈到SQL sever。但是不给用户以可供的选择,他们将继续被蒙蔽下去。只给他们一种本地表达到五万个记录就会窒息的语言,并把SQL作为唯一能挽救他们的开发投资的途径。他们将会跟从这个潮流,他们不得不这么做。 
    我不知道让你的用户花费两万美元而忽略了五百美元这么做是否违法。我同样不知道推荐一个对大多数数据库项目来说据称过度结实的技术是否合法。但它看起来是错误的。 
    对一个公司来说,高昂的成本并不是最重要的坏事。你的竞争者也必须忍受同样的成本。在所有的商业中,被迫从低成本的技术转移到高成本的技术因而被击败是理所当然的。如果你的程序员决定使用SQL,而你的竞争者使用一种更好、更便宜的技术,那么你将陷入经济的劣势。如果你的竞争者和你一样做了,那么你们的成本是相同的。在你所在的行业中没有人会失去什么。 
    除了美国消费者。 
    为什么我象是整个IT行业中唯一推荐FoxPro的程序员?记得在大学里不要跟随潮流吗?记得含沙射影的诽谤的力量吗?“如果它那么好,为什么MicroSoft不为它做广告?他们肯定羞于谈到它。”真相是不能被掩盖的。MicroSoft 
    知道 Visual FoxPro 是多么棒。MS SQL 的销量将会以百万美元计的减少。现在你知道故事的其余部分了。 我们是这个“善意”的疏漏的关键。为了被看作是正义的,MicroSoft 不能杀死 FoxPro。(译者注:就在不久前,VFP7 的测试版先于 VB7 发布。这是对那些到处散布“VFP要完蛋了”之类的谣言的人的一个有力的反击。)但是我们能。如果我们屈服于诽谤并保持沉默,那么 MicroSoft 赢了。我们、和我们的客户、还有客户的客户,都是失败者。通过低头承认失败,我们可以被允许做出看起来像是对的一方的样子。我知道逆潮流而行是困难的。我已经被要求不要唤起人们对这个问题的关注,但我还是坚持并期待着。我希望你也那么做。 既然 MicroSoft 不再宣传 FoxPro,我已经有了一个用两种方式建立同样的一个实例程序的方案(不管别人怎么称呼它),我们公平竞争。这个项目没有买主。所以你自己来试验一下。选择任何一个应用程序,用两种语言来完成它,然后比较开发的结果。这是一。然后装入10万个纪录并都运行它们,比较它们的性能。这是二。最后,现在考虑配置一个SQL sever的成本——这时唯一治疗MDB文件象冰河一样缓慢的性能的方法——当然你必须忍受像SQL的体积那么大的成本,然后加入一个数据库管理员的成本,除非MS SQL 7.0能够再为你节省10万美元的隐藏成本。 这不是一个竞争,这是一个智商测试。 
      

  6.   

    我做小的系统用它,因为快灵活,但是在构建一些复杂一点的工程上我还是用了pb,pb6.0以后光芒就暗了下去。就数据库来说vb/vc/bcb/delph都不是最好的工具。
      

  7.   

    fbilo说得非常好!不过个人认为这都是对桌面数据库而言的
    C/S 结构对于Foxpro程序员来说就差些了吧
    我们公司的Foxpro程序员做网络数据库还只能共享表呢
      

  8.   

    MS 当初买下 FoxBase,就是为了消灭它?一直拖到现在,只不过是想把它仅有的一点边际
    利润榨出来。现在可能是时候了!!!
      

  9.   

    fbilo说得非常好!
    vfp并没有过时!
    尤其是非计算机专业的业余程序员来说,VFP是最适合的!
    由于其简单易学和开发成本低,对于不是以搞程序谋生的人来说,的确提供了一个很好的编程工具。大多数非计算机专业的程序员,都不会去开发通用软件,多数情况下会选择与自己本身工作有关的但使用者却十分有限的项目进行开发,这些项目的数据记录数通常情况下都不会十分庞大,这时候选择一个简单易学成本低的开发工具就显得十分重要了。
    判断一个东西是否过时,不能以它做不做广告,它做不做广告是它公司的营销方针政策决定的,而不是由技术决定的。其实它做不做广告与我们没有什么关系,大家都明白卷烟不做广告买的人一样的多。
    对于一个工具是否好,站在不同的角度有不同的评价。对一个平台提供者(微软)来说,能赚钱的工具就是好工具!
    对于一个程序员来说,只要能高效、快速、低成本开发出应用程序的工具就是好工具。
    对于用户来说,一个界面友好、实用、功能强大且傻瓜的软件就是好软件,他们才不管你是用什么工具开发出来的。我们不妨假设用不同的工具开发同一个软件项目,VFP开发的只多一个很次要的功能,我敢保证使用VFP开发的用户要多一些。当然,你可以说这是用户不成熟,但中国的现状就是这样,恐怕很难改变。
      

  10.   

    我在写小的桌面型依旧用的是vfp而不是delphi
      

  11.   

    hehe, 大家说得都很不错 :) 我的想法也片面了些,现在既然有人用它,说明至少还有它存在的理由,比如对非专业的来讲,完成需要的功能就可以了,越简单省事越好。不过对于专业程序员来讲,我还是原来的看法,换吧 ^-^
      

  12.   

    haiyun(海云):
    fbilo说的很好,我很赞成他的说法,VFP6没用了,MicroSoft为何还要劳心劳力的来开发它的下一个版本,难道是老比头脑有问题吗?答案是否定的。(我想稍微有点头脑的人都知道这点。)软件的流行有其一定的道理,但不可盲目跟风,在某些小的应用系统开发方面,VFP6还是有其一定的优势的。其简洁的桌面,面对对象的程序设计理念都值得我们这些学生学习。为何开发一个程序就非的编一大对枯燥难懂的代码呢,简单点不好吗?从商业角度上讲也是一样的呀。
       所以我觉得VFP6不但不该杀死,还要多学,学透它。象我目前就在学呢,虽还学的不深,可已经觉得它的一些优点了。
      

  13.   

    不要小看VFP,现在使用VFP的地方比使用SQL SERVER和ORACLE的地方多得多
      

  14.   

    除了VC++(c++)就是VFP,其他都是垃圾
      

  15.   

    学生时代(也只刚刚过去)学数据库编程就是用的VFP,有过一阵子的后悔,因为他的不方便,(比如你用鼠标去点一个地方,但就是不出现光标,因此从直观上讲就给人一种不好的感觉)但我学得很用功,对于我来说,我讨厌那种把问题复杂化的语言,VB,VFP,ASP&还有些网页编辑软件我是带着一种兴趣去学的,所以还可,刚就为公司用VFP开发了一个数据库软件,楼上的那位兄弟实在说的到点fbilo,对于软件的学习问题,我还是一如继往的坚实用的原则,不过作为有志于软件事业的人员来说我还是建议大家去学一些流行一点的东西,VC++,LINUX,作为计算机系,我无志于振兴民族软件事业,但我深切的感觉到中国在这一行业中的落后和亟亟可危,如果可能我愿奉上绵薄之力。