您真的了解Visual FoxPro吗(长文专论之五)
hbgth 2003-05-26 10:20:49 八.Visual FoxPro 与其他开发工具的比较?
这其实是一个很傻的话题,选择何种开发工具完全是由于程序员的面临的任务以及个人的喜好决定的。只要您选用的工具能够胜任您从事的项目,只要您对开发工具有足够的造诣以应付多变、复杂的工作,只要这个工具还在继续升级,您就没有理由更换工具,更没有必要掺和到这种无聊的讨论中去。
任何工具都有其优势与弱势,产品定位更是各不不同,每个程序员都觉得自己的选择是最好的,别人都是愚蠢的。以下的讨论只是无聊的笔者发出的无聊的言论,您大可掠过不看。
谈论Visual FoxPro,我们必须注意这样一个问题:Visual FoxPro 是干什么用的。毋庸置疑,它是一种数据库系统的开发工具。 我个人认为,到目前为止在Microsoft公司的所有开发工具中,Visual FoxPro是开发数据库应用程序的最佳产品。我们必须承认这样的事实:从一开始,Visual FoxPro 就是为处理数据而设计的,她运行速度快、功能强大、而且非常灵活。
有很多人老喜欢拿Access与Visual FoxPro 比较,对此我总不屑一顾,且让我们看看微软的评论吧!微软原话如下:“Microsoft Access 是 Office 中的数据库,也是微软所销售的软件中,使用最广且最容易学习的数据库工具。如果你是数据库的新手,如果你要使用Microsoft Office 来建立应用程序,或者你想要一个相当便利的交互式产品,那么就选择Access。Visual FoxPro 是用来建立关系型数据库应用程序的一种功能强大的RAD工具。如果你是一位以建立关系型数据库应用程序维生的数据库开发人员,而且你希望速度与功能都达到极限,那么请选择Visual FoxPro。”(这段话在今年Visual FoxPro 退出Visual Studio后,微软又重复了一次,强调Visual FoxPro是专业开发人员的开发工具,而不是Access 那样的普通用户的办公平台。)
有多人拿Visual FoxPro与VB、Delphi甚至是VC++做比较,这是很幼稚的,后面三者是编程语言,而Visual FoxPro是数据库系统的开发工具,天生分工就不同。我听说这样的典故:Foxmail最初是用Visual FoxPro编写的,后来改用Delphi编写。如果这是事实就很能说明问题,Visual FoxPro是数据库开发工具以它编写邮件客户软件有点勉为其难,即使成功了效率也不会很高,但如果是一个用Visual FoxPro写的管理系统中要求有邮件功能,Visual FoxPro则完全 可以办得很好。Visual FoxPro作为数据库开发工具,它为我们提供了十分强健、高效的数据引擎,它容量大、速度快、灵活、健壮,所以用Visual FoxPro开发单用户数据库绝对比其他所有软件来的高效——曾经有人嘲笑VB处理5、6万条记录就趴下,但我们的Visual FoxPro处理百万条记录也不觉吃力,所以Visual FoxPro的开发人员无论在什么时候都要注意发挥Visual FoxPro的数据引擎的威力,这样才能立于不败之地。VC++很厉害,但真正地用好它不容易,开发效率也不高。如果使用VC++开发应用程序还象VB那样只会使用控件,那么还是别使用VC++了(这叫挂羊头卖狗肉),Visual FoxPro、Delphi、VB会更简单、更具生产力! 再者Visual FoxPro本身是VC++编写的,是历代最优秀的程序员智慧的结晶,为什么有了VC++还要花精力编写Visual FoxPro,这本身就 很说明问题。
又有人把Power Builder请出来与Visual FoxPro作比较,大家都是数据库应用程序开发环境,好像PB比Visual FoxPro厉害。 就数据库系统的开发而言,Visual FoxPro 可以开发单用户系统、网络环境下的文件服务器系统、客户机\服务器系统、Web Server、数据处理的COM组件,可以说出了Web界面无法开发之外,凡是与数据库系统有关的开发领域Visual FoxPro都很好的支持。PB的起点在客户机\服务器系统,也能很漂亮的完成工作,此中取舍全凭个人喜好;另外,PB的成本很高。据我所知它的的价格十分昂贵(有人戏称说PB是世界五百强才用的起的产品),而Visual FoxPro才卖几千人民币。当然,这个观点您可以不接受——在中国软件是没有价值的,每张只卖4元人民币;还有PB的开发方式与众不同,用了它以后再改学别的会比较困难;最后退一万步讲,您要变换编程工具,我也不赞成改用PB,因为PB再好也是一个数据库开发工具,从这上面讲与Visual FoxPro是一个级别的东西,您想变化工具一定有更多的需求,我看用VC++(C#)或Delphi会是更佳的选择。
又有人把网络数据库如Oracle、SQL Server与Visual FoxPro相比较,说了Visual FoxPro一大通的坏话,这种人其实很傻,你大可对他嗤之以鼻。大型数据库与桌面数据库在系统开发中的作用是不一样,两者是相辅相成的。我们应该把注意力放在“怎样发挥两者数据库引擎最高效能的问题上”,而不是去争论孰优孰劣。这种争论就好比是评论是男人漂亮、还是女人美丽那样——毫无意义。
九.Visual FoxPro 从Visual Studio 中分离出来了
2001年2月26日,微软宣布将Visual FoxPro 7从Visual Studio 中分离出来,这是一个这样的消息,是好还是坏?关于这个问题当时我们工作室就发表了专门的评论,这里就不再哆嗦了。总之:我们赞成!
十.Visual FoxPro 7 之我见
Visual FoxPro 7 已经在2001年5月中旬正式发布了,6月份在美国上市。他的 Bata 版不少网友都用过,于是产生了种种评判。在美国人们认为,Visual FoxPro 7是继 Visual FoxPro 3以后 Fox 发展史上最具有“革命意义”的版本,评价是很高的;而在国内,不少尝鲜者感叹:这是微软不好意思说SP的产品,简直就是Visual FoxPro 6+SP6……两种评价相差这么大,谁是谁非呢?
笔者在去年底就得到了Bata 1版,初次见面确有失望之处——界面改观太小了——除了几个窗口可以停放、菜单上多了几个图标之外,几乎与Visual FoxPro 6没有区别,最无法容忍的是可视化控件一个也没有增加……
停了几天,我开始读着帮助了解Visual FoxPro 7的新特性,慢慢的我有了这样的感受:有了Visual FoxPro 7我决不用Visual FoxPro 6,这也是我对Visual FoxPro 7的评判,虽然他不完美,有的地方不尽如人意,我还是觉得给他打个80分总是应该的。接下来笔者就谈谈试用的感受:
太好太好的开发环境。以前我很羡慕VB的程序员——不用记忆太多的命令、函数,一切系统为你导航;碰到COM组件可以很方便的浏览他的属性、方法、事件……现在Visual FoxPro给了我们一个属于自己的高效率开发环境,并且他支持用户的自定义控制。如果说绝大多数Visual FoxPro程序员是在大量代码的书写中锻炼出来的,不怕记忆、书写大量程序,但你见到COM组件、ActiveX的编程一定很头疼,因为您不熟悉他;看到COM组建中大量的常量您可能更头疼,要我到哪里找到他们表示的数值啊!现在一切都好了……如果要全面的谈论开发环境的增强可能要花费很多的笔墨,其实他的好处您试试就知道了!
60个左右的数据库事件,这是对Visual FoxPro 近年来最大的一次对数据库引擎的改善。这些事件对管理整个数据库有很重大的意义,我们可以把维护数据库的代码写在事件中,只要有相应的操作就会触发,这样就网罗了所有的相关动作,而不是像以前那样写在应用程序中,不启动程序一切白搭!数据库的事件应用面可能很广,发挥它的作用还得靠大家的智慧!
COM组件开发的感觉特爽,不仅是开发效率的提高,更是COM组件运行的效果明显改善。Visual FoxPro 是从5.0开始支持COM组件的开发,6.0版本开始走向成熟,6.0的SP3以后支持多线程组件的开发,7.0版本中开发COM组件明显比6.0版本运行效果好,可以说是成熟、完美的技术了。难怪微软在宣传Visual FoxPro 7时指出:Visual FoxPro的COM组件可以被用作工业现场的无界面数据处理,可见其稳定性。
新特性还有不少,到时您就自己看吧!
软件的升级对我们用户是否有好处,主要是看他为您解决了多少难题、减轻了多少痛苦。Visual FoxPro 7对于高级用户可能更有吸引力,当然普通用户也一定会对他的超级开发环境有兴趣。