VFP的优劣势: <以下内容有部分为转帖,请原发言者见谅!> 优点与缺点是一回事,能不能流行又是另一回事,vfp9的推出,可见微软件是不会放弃vfp的。 其实各种语言都差不多,学会了一种,再学其它的会很容易。 不知道为什么总是有人觉得VFP的伪编译是个很大的问题?你的应用非常高级吗?你的程序价值并不是体现在代码上的。如果说VFP的速度慢的话,可能这世界上没有更快的了,VFP 即使是用ODBC做数据处理仍然不输于VB、Delphi之类的开发工具。如果对DBF的开放式数据不满意,VFP可以完美的支持SQL Server数据库。 一个软件无论用vfp,vb,delphi,或power builder,都可实现. 对于管理软件,vfp的最大好处是本身就是数据库操作语言,处理数据统计非常方便,而其它语言只能依赖于数据库服务器,数据到了前台,处理起来非常麻烦,对ado recordset,只能用 一循环逐条记录慢慢数. 个人觉得vfp用起来很方便.vfp本身就是数据库,可创建自己的数据库,也提供操作数据库的命令,语言. 语言只是一门编程的工具,各种语言各有所长,能满足自己的需要就行了。 在VFP内部插入绝对达到每秒1万的记录(我自己也做了实验,插入10万条10字节记录,并用USE关闭,还不到1秒)。说VFP快肯定是说VFP操作内部DBF数据,而用其它语言操作DBF 或VFP操作其他数据库都会比较慢的。由于其他语言没有内置的数据库,所以从数度来讲,VFP绝对是一流的,原因就在这里。VB操作DBF与VFP操作DBF速度相差几十倍应该是正常的 。但若VB操作DBF及VB操作ACCESS等相差几十倍就不正常了。 VFP作为微软一直坚持更新的软件之一。同excel,access,并列为3大数据库管理工具(ms sql server不在其中),用了快4年的VFP,在对excel.access进行对比时发现,作为从 dbase升级来的软件,在单机数据处理上,VFP不是一般的快,即使不使用rushmore技术,他的速度也是一流的(就国内的目前情况看,能用上rushmore技术的项目可能不多) 的应用,但是如果想要进行封装做成比较完善的、桌面型的数据库管理,vfp更适合。 为所有的控件其实都是图片(vfp)。说个不专业的话,就是他太解释了。所以VFP在桌面应用中也只能说比access强。 他的强项)。 对于很多人所说的vfp太灵活了。是的,VFP语法很简单也很灵活,也就是人们常常所说的不严谨。我想说的是,C也很灵活,也很容易出现莫名其妙的错误。所以是否容易出错,有 时候不是取决与某个语言,而是取决于程序员自己。 而VFP至今没解决反编译问题),很容易被反编译掉(心疼啊,只有这时候才想,人们为什么不尊重点版权呢),不过可以用加密程序就可以解决了。 定还是有市场的) VFP可以是绿色软件,可以直接放到U盘中,即插即运行,运行完一拔就走。 其实vfp对vb的好处是vfp是数据库操作语言,如果用while或for这样的语句逐条记录数,两者都是解释性语言,速度应差不多. 首先确定一下,ADO操作DBF和VFP直接操作DBF的方式是有很大差异的,所以想达到同等数量级的速度理论上就是不可行的。 有许多人总认为这个语言好,那个语言不行,我感觉片面谈论语言的优劣完全没必要。 看过梁肇新《编程高手箴言》一书的人多少会有些感触,应该不会从表面肤潜的评论一番, 另外像C/C++和汇编之类的语言也的确不错,从《莱昴氏unix源代码分析》一书就可看出来, 拿unix和windowss相比来反应vfp与其它工具: 看了大家议论,不敢说比谁高明,但觉的有些人看vfp像盲人摸象。我认为:
不管是.NET也好、JAVA也好、DELPHI也好、VFP也好,能够利用它赚到钱就是最好的。 java:长于网上程序,怪招,单机程序不吃香。 VFP的优劣势 优势: Delphi,.Net,C++虽然在其他任务处理(特别是对OS底层没法比)但在处理百万条数据记录时速度在绝对一流,特别是在Foxpro2.x加入了Rushmore技术。 同时VFP结合ODBC/ADO+处 理SQL SERVER/Oracle数据时速度也非常有优势。 我曾开发一个大型的MIS软件,在SQL SERVER在大数据记录/稳定/安全/触发器等大型数据库的优势以及VFP在内存处理Cursor表的 优势上做了一个合理的权衡,其性能远远优于其他软件开发的同类系统。 段时间的积累) 另外因为是解释执行,所以调试程序时也显示非常方便,不用像C++/Delphi等需要全编译一个项目才能运行,她可以让您直接Do/Run/?一下就可看到程序输出结果 。 上做权衡。 劣势:
尤其是现在人很重视的方面稍差(其实在最新的9.0也不是很差),但是花同等功夫,把VFP学会的时候,也能够把Java、C#的语言也学会了,而比起“经济效益”和“名誉”来说 ,VFP就差得太多了,所以,这里也有墙倒众人推的意思。 我用了很多年的Fox系列了,从FoxBase到现在的VFP9,现在开始转向C#/.NET,从能力上说,C#远比VFP强大,如果其他方面不考虑,只是比谁能把一个程序作的更好,VFP远不是C# 的对手,但是如果考虑到程序规模、开发时间、成本等,同等VFP的高手和C#高手,从头写代码的话,对于常见的信息管理系统,VFP至少会节省一半甚至更多的时间,而会得到同 等的效益。 至于编译代码的损坏问题,个人曾经遇到过,但是若干年来也只遇到过1次,所以认为这不算是什么问题。而关于开发工具的BUG问题,个人认为,能比VC 6.0BUG还少得开发工具似 乎本来就不多,而且也没发现VFP开发工具有什么太大的BUG。 总的说来,VFP在当年的应用需求水平上来说,是非常不错,甚至很优秀的,只是当今的需求VFP很难满足(尤其是和当红的C#样样精通比起来,更不行了),只能偏居一隅,而说 VFP不好的人,个人认为,他们还是对VFP一窍不通或者仅仅是一知半解,才妄下结论的。 补充一句,其实微软当今SQL Server/ADO.NET等数据库性能很高,是借用了VFP的很多技术的,所以,VFP的灵魂算是永存了,至于语言的淘汰,不会拖太长时间,预想中VFP 10应 该是最后一版了(不支持64bit就看得出来)。
,现在VFP的下一个版本还在开发中,07年发布。 让VFP不易反编译也不是多困难的事情。 关于反编译方面说明一下。其实C#作出来的程序何尝不会被反编译?我现在就经常反编译别人的程序甚至.NET 自己的类库来学习的。所以能否被反编译并非软件的致命伤(BCB、 VC++还带着源代码呢),关键在于你的软件要不断的超越自己,超越别人,否则靠固守阵地,吃老本,被淘汰直至灭亡是早晚的事。 *--------------------------- *--------------------------- VFP 的不足 在加拿大多伦多,VFP 程序员的工资比 .NET 和 JAVA 的高 *--------------------------- 哀VFP竞落到苟延残喘的地步。 释怀,再后来WINDOWS及VISUAL的大行其道使得我们的FOXBASE(DOS)黯如昨日黄花。此时虽有了VFP,却更多的是质疑与其未来命运的担忧。本人也在这种大潮中反反复复,于是乎 把VFP、VB、DELPHI、C++、JAVA如小儿的玩具般择来选去,便是在这种无法权衡中过去了8、9年,而今的开发工具、数据库产品又是何等的一佩繁荣景象。唉!不知如何表达自已 的诸多感慨... 也正因此使得VFP在国内经久不衰。但往往等他们走出社会了解了它的目前处境后都感到了鄂然迷失,是放弃亦或是继续!放弃,该学什么?从哪学起?好学吗?有用吗?要花多少 时间才可写程序?一连串的问号堵得自已不知何去何从;继续,自己有基础,国内VFP的资料不缺乏,深究起来不难,甚至也乐于深入,可是,业界频频传出微软停止对它的研发, 又十个有九个说它没用处、不好、碰了几次壁后连自己都羞提学的是VFP。 的了解及拙见,如有偏差望请海涵。本人认为:DELPHI、C++为系统开发工具,它更具有系统级及大型软件的开发能力;JAVA为网络开发工具,它在网络方面的开发能力极强,更具 特色的是可以很好的跨平台;而VB曾经与DELPHI争锋相对斯杀了若干年,按理可以算平起平坐,然我个人让为DELPHI在系统开发方面更具实力,而MS的强大造就的是VB的大众化, 有PASCAL基础的人可容易转向DELPHI,VB却容易上手易学。当然它们都有数据库开发能力,只是C++、JAVA学起来难度相当大,若你想自学可要消耗你相当的毅力,其他几种至少界 面友好,只要有足够的资料及工具书当可循序渐进。当然,如今它们都往.NET平台上跑了,在.NET上熟优熟劣本人未得体会。而我们的主人公VFP与ACESS皆为桌面型数据库管理开 发工具,它们都无法胜任系统级开发与大型数据库开发的能力,我喜欢ACCESS的单一数据库文件的方式,因为这样便于管理维护,但除这点外与VFP比却甚觉一无是处,无以忍受的 缓慢速度更与VFP无法同日而语。VFP的优点当然不仅在于它的速度,在此就不一一列举。可是最令我痛心疾首的是自FOXBASE FOR DOS到FOXPRO FOR DOS直至现在的VFP都未能解决 无以忍受的表损坏(VFP6.0以后的版是否也这样我不曾知道),或许大家会说可以通过备份来解决这个问题,可是在C/S局域网结构下,特别是即时及大量的服务器访问、增删改, 容不得也不实际于时时的备份,如此的企业数据一旦表损坏那就是灾难性的结果。当年我用CLIPPER(早年DOS下的dBase数据库开发编译器)写的宾馆收银系统24小时不停机使用8 年中才发生1例这种情况。很多时候我都想问微软为什么CLIPPER能做到,而身为世界第一大软件公司的微软却一直无法解决这个问题呢?这就是本人转学其他开发工具的主要原因, 只有在开发数据安全要求不高的单机小程序才用VFP。可是自己却多年来身在其中,对VFP语句的眷恋始终未改。 |
|
来自: Alkaid2015 > 《75.VFP狐仙◆》