VFP真的就一文不值吗?请留意:《Visual FoxPro 漫谈 1》

lssyang 2002-08-20 12:18:09


文章标题
Visual FoxPro 漫谈
作品来源
BOE 数据网络工作室
最后更新 2002年07月10日
文字数量 约22000字
作者姓名 陈纯

译者姓名 --
版权声明 版权属于原作者
相关下载 --
细节描述   作为市场上最灵活和功能最强大的数据库管理系统,Visual FoxPro拥有悠久而辉煌的发展历史。它初创时是Fox Software公司的FoxBASE产品,“Fox”(这是国际编程界对她的称呼)一种可靠、便捷和高效的程序员用的数据库产品而名闻遐迩。世界上没有一种产品像 Visual FoxPro 那样运行,她是独一无二的!

目录

前言

Visual FoxPro是什么

Visual FoxPro 已经过时了吗

面向对象与面向过程之争

面向记录与面向集合之争

产品定位导致Visual FoxPro变化不易为人们感觉。微软要把Visual FoxPro作为三层构架(或是多层构架)的中间层开发工具

Visual FoxPro 只能局限于桌面应用程序的开发吗

不要以为Visual FoxPro是“低端产品",无论从数据库(DBF Base)品质还是开发环境评价Visual FoxPro, 它都是一个“高端工具”

Visual FoxPro 的语言看上去蛮难的

OOP不仅是指“面向对象”的开发环境,更是一种开发思想、开发技术,Visual FoxPro 在后者上做得更好

Visual FoxPro的界面能力真的很差吗

Visual FoxPro与OLE DB、ADO

Visual FoxPro是一种历史悠久的产品,很多用户是从FoxBASE到FoxPro到Visual FoxPro,这样一步一步过来的。历史的积淀多了,历史的包袱也重了??许多程序员往往抓住老产品而忘了深入钻研新产品的新特性,这是一种悲哀

Visual FoxPro 与其他开发工具的比较

Visual FoxPro 从Visual Studio 中分离出来了

我们失去了什么

Visual FoxPro 与.Net

客观上,有利于Visual FoxPro 的发展

独立面对挑战

Visual FoxPro 7 的特性

巨好的开发环境

数据库事件

XML与Web Service

COM以及COM+

Install Shield Express For Visual FoxPro

Visual FoxPro 7 SP1

我们的 Visual FoxPro 8

已经看到的Visual FoxPro 8 的新特性

微软对Visual FoxPro 8的定位

Visual FoxPro 8 不会是.Net语言

我对Visual FoxPro 8 的期望

选择Visual FoxPro

前言

这篇文章可以说是 BOE 数据网络工作室的开山之作了。它的动工是从2000年国庆节开始的,写写停停,直到那年的农历春节才完成初稿……

后来我有几次修改,算在2002年4月的这个版本,应该是第四版了!

当初,我写这篇文章的动机是:平静的表达我的观点。作为一名 Visual FoxPro 的程序员经常受到别人的质疑、甚至是批驳、挖苦,我不是一个擅长口舌争斗的人,更不敢冒犯“众怒”。于是我就用键盘陆续敲击一些文字,表达我对 Visual FoxPro 的认识,同时表达对各类问题的看法……

近两年来,就我本人来说发生了很多变化:由于工作的关系,我接触了很多其他的开发工具,其中有大家广为熟悉的Delphi,也有国内不见经传的Rapid Plus、InTouch、InSQL、InTruck。体会过种种、经历过许多,我觉得我更有能力完成此文了,我希望站在公正的立场上看待Visual FoxPro,而不是社会上一味的批评、鄙夷,更不是Fox Fans的“天下我是老大”的心态!希望大家能在文章中感到BOE的成熟和进步。

网友们特别喜欢这篇文章,我知道Fox 的 Fans能在此处得到共鸣,其实我写这篇文章也就是要把平时大家关心的话题总结归纳一下,去粗取精、去伪存真……

去年春天 Visual FoxPro 7 就正式发行,好多狐友都在等待简体中文版,很遗憾的是,微软并没有汉化它。我觉得,没有任何必要使用简体中文版的Visual FoxPro 7,原因如此:功能上讲,中文版与英文版完全相同;Visual FoxPro 7的IDE与以前版本没有什么区别,所以对于熟悉Visual FoxPro的用户来说,使用上不会有任何障碍;再就是Help文件,Visual FoxPro 7自带了一个完整、独立的英文版的,而中文Visual FoxPro 6的Help是集成在MSDN里的,巨大无比,其实也没怎么汉化,一般的Fox Fans都不装的,所以就帮助来说,对于不熟悉英语的朋友来说,英语Visual FoxPro 7与中文Visual FoxPro 6是一样的;Visual FoxPro 7从各方面来说,均非Visual FoxPro 6可比拟的,升级开发工具是必然的。所以,希望各位,升级到Visual FoxPro 7吧!

Visual FoxPro是什么

作为市场上最灵活和功能最强大的数据库管理系统,Visual FoxPro拥有悠久而辉煌的发展历史。它初创时是Fox Software公司的FoxBASE产品,“Fox”(这是国际编程界对它的称呼)一种可靠、便捷和高效的程序员用的数据库产品而名闻遐迩。 世界上没有一种产品像 Visual FoxPro 那样运行,它是独一无二的!

许多人在享受了Visual FoxPro的服务后却说不清它是什么。就让我们沿着它的发展轨迹了解了解它吧!这会使您能对它有更深刻的认识。

FoxPro隶属于一种名为Xbase的DBMS类别。Xbase这个术语很常见,他表示诸如FoxPro、dBASEIII PLUS、dBASEIV、FoxBASE+以及ARAGO的语言。Xbase最初起源于一个大型机使用的DBMS,这个DBMS叫做JPLDIS(喷射推动实验室数据库管理和信息检索系统)。这个DBMS 是由美国人Jeb Long在1972年开发成功的。到目前为止全世界的开发者和程序员已经编写了几千万行的Xbase代码。

追溯到80年代末,FoxBASE是dBase的克隆系统。只要是dBASEIII能做的工作,FoxBASE就能做得更好更快。FoxBASE虽然拥有某些全新的特征,但它并没有真正重大的技术突破,只是为了运行得更快更好,而更重要的是它与dBASEIII兼容。

FoxPro 1.0首先背离了与兼容的原则。它开始在图形用户界面的设计和软件开发方法中采用一些新的思路,从而使它领先于当时年前景已不妙的dBASEIV。

从2.0开始,FoxPro才真正形成了它自己的特色。当FoxPro 2.0推出时,它包含了若干项关键技术,给PC数据库开发市场带来了革命性的变化。这些技术是:

加入了Rushmore技术,它能从事许多难以想象的复杂工作。突然之间,带有以百万计数的记录的表格在PC数据库系统中不仅成为可能,而且可以非常容易地加以实现,无需转用其他比较昂贵的技术;Rushmore最重要的优点在于它是完全自动化的,不用用户花费精力和时间。因为有了Rushmore技术,再加上Fox天生的快速,即使在今天Visual FoxPro仍然是最快的桌面数据库引擎。

SQL语句是FoxPro 2.0推出的另一项具有革命性意义的关键技术。Fox的开发人员首次用单一语句取代了整个程序过程,并且这种支持是内含于Fox数据引擎之中的。SQL语言曾经并且现在仍然是强大的数据语言。
FoxPro 2.0还推出了某种所见即所得的开发报表和屏幕的工具。


FoxPro 2.0确实具备了我们今天的Visual FoxPro拥有的一些出色的功能。GUI设计服务、SQL和极快的数据访问,是它明显的特征。

FoxPro 2.5有for DOS、for Windows版,不过那个Windows版只是具有看上去像“Windows”的DOS应用程序的外观。特别是那个DOS下的版本绝对是经典之作,观察身边是不是还有很多这样的系统在运行着?当时有人这样评价:这个软件已经无法再快了,除非硬件升级……

直到1995年春天Visual FoxPro推出时,才出现了FoxPro的又一次重大改进(这时Microsoft已经收购了Fox Software公司)。Visual FoxPro 3.0增加了一些人们企盼已久的特性,使PC数据库开发界大为震惊。我们可以看到:Visual FoxPro与FoxPro是由很大差别的,不要再把Visual FoxPro成为FoxPro了。这些特性是:

数据库容器(Database Container),也叫DBC,它增加了开发人员多年盼望的对存储过程的支持、与表格相关联的数据规则和一系列的附加数据功能。

远程数据的无缝连接。谈到连接远程数据的处理,大家往往会想到RDO、ADO、BDE等处理数据引擎,那么Visual FoxPro利用什么实现远程数据的无缝连接?Visual FoxPro本身的数据处理引擎,这和其他任何开发工具都是不同的!Visual FoxPro数据处理引擎通过ODBC驱动程序与远程数据库服务器“通话”,远程数据库服务器的ODBC驱动程序能将Visual FoxPro数据转化成可由他们解释的数据;相反,Visual FoxPro的ODBC驱动程序也能将远程数据转化成可由Visual FoxPro数据引擎处理的数据。可见,只要远程数据库有ODBC驱动程序,就可以用Visual FoxPro最为客户端软件。常见的SQL Server、Oracle、Access等数据库都提供ODBC驱动程序。

在Visual FoxPro中实际操作远程数据有两种方法,远程视图和SPT技术。视图(View)是可更新的SQL光标,增加了一整套的数据访问方法,用于数据处理、GUI显示和报表制作。它支持两种类型的视图,即本地视图和远程视图。本地视图是基于Visual FoxPro表格的视图,远程视图是基于任何ODBC数据源的视图。另外为了使Visual FoxPro成为完整的C/S开发环境,除视图之外Visual FoxPro还支持SPT(SQL Pass Through)技术来完成视图无法完成的工作,比如数据库服务器的用户管理、存储过程调用等。View与SPT技术的产生后,Visual FoxPro就成为访问远程数据的主要工具。从总体来看,创建整个企业范围内的应用程序和使用存储在远程数据源中的数据,几乎与使用Visual FoxPro表格本身一样容易,处理在数据存取时增加了一些命令、函数,数据处理与普通的Visual FoxPro编程没有任何区别。再次指出:Remote View与SPT技术是由Visual FoxPro数据处理引擎直接支持的,这与在VB、VC++中的外部数据访问技术不同(他们使用组件,如:DAO、RDO、ADO……),所以用Visual FoxPro访问远程数据的效率很高,并能把远程数据与本地数据完美的融合在一起,最大程度地提高开发效率和程序运行效率。

完全支持面向对象技术(OOP)。充分而健壮的实现了面向对象的处理方式大大改善了软件开发条件。健壮的对象模型和创建你自己的类及子类的所用的功能,形成了一种全新的软件开发手段。


Visual FoxPro 5.0是3.0的升级版本,它是一个32位的系统。具备了使用和创建COM服务器的功能,并开始支持在Internet上发布Visual FoxPro。从这个版本开始,Visual FoxPro进入了Visual stu
...全文
139 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
an_assassinator 2002-09-04
  • 打赏
  • 举报
回复
国人跟风严重,We have no chioce……
hnsyf 2002-09-04
  • 打赏
  • 举报
回复
我以前常用Visual Foxpro,但是现在几乎不用了,现在使用SQL Server,有时要求不能使用D版的时候就使用MySQL(前台多使用Delphi或C++Builder)。不是感觉Foxpro不好,而是公司要求,或是其他人不使用Foxpro,为了整个项目着想,不能使用Foxpro。不过我始终认为使用Foxpro开发有关数据库的东西开发效率比其他工具要快的多。
_Shakespeare 2002-08-31
  • 打赏
  • 举报
回复
个人看法:
vfp作为小型数据库在中国使用很广泛,我想最大的原因就是它简单吧,它会长期存在的---为了那些不懂计算机的人存在。
真正的DBA或者程序员用比较大型的,功能强大的。
Foxer 2002-08-31
  • 打赏
  • 举报
回复
dreammaker(世界因我而存在) : VFP 怎么惹你啦,再说生气也生MS的,和VFP有什么关系呀
dreammaker 2002-08-30
  • 打赏
  • 举报
回复
对VFP我实在懒得看它一眼!看到它我心里就冒火!
Foxer 2002-08-30
  • 打赏
  • 举报
回复
7.0自然是比6.0有所进步,不过本质变化不多,稳定性稍好,们有根本性的变化,据说8.0也只是功能上的提高,本质有变化要等9.0才行。唉,那时候我想用vfp的人不会有多少了:(
rainbowcn 2002-08-30
  • 打赏
  • 举报
回复
VFP做为桌面数据处理还是挺方便的,不过作为DBMS就不太合格了。不知道VFP7.0有些什么新的功能喔。

厚积薄发。
rainbowcn 2002-08-30
  • 打赏
  • 举报
回复
VFP做为桌面数据处理还是挺方便的,不过作为DBMS就不太合格了。不知道VFP7.0有些什么新的功能喔。

厚积薄发。
Plotto 2002-08-30
  • 打赏
  • 举报
回复
In my view, Foxpro is not a DBMS, but a developping tool with a table system. I think they are different at all because a system have to follow so many standards to be called a DBMS.
vvyjp 2002-08-29
  • 打赏
  • 举报
回复
还是要做得出牺牲,
放就放下吧,
我也是VFP的爱好者之一
常时间一直用它
现在我也改用POWERBUILDER 8 了
后台用SQL SERVER20000 、ORACLE 。。。
现在流行用DELPHI 、JSP
想一步到位就用DELPHI 、JSP 吧
它们兼容性很好
可跨平台
Foxer 2002-08-20
  • 打赏
  • 举报
回复
UP!
erickleung 2002-08-20
  • 打赏
  • 举报
回复
foxpro本是一个很好很快的编程工具, 但自从M$收购了foxpro而成为vfp後,
我个人觉得foxpro便失去原有的光彩了, 永远的只是一种配角角色了.
zqllyh 2002-08-20
  • 打赏
  • 举报
回复
要看做什么,其实做本地版的小程序,我觉得VF还是很不错的。
当然,VF功能相当强大,做CS结构的也行,不过问题多一点。。。。。
其实什么语言都是工具,只不过是工具利用者的道行深浅罢了。。。。
Foxer 2002-08-20
  • 打赏
  • 举报
回复
To coolyylu(将来是我):
和我们公司差不多啊,我们比他们还强一些,销售力量还不错。从VFP转型的确是很难,一个中小型的产品用vfp是最划的来的。不过现在VFP的名声确实不好,有用户挑这个,这是最麻烦的。
dgz01 2002-08-20
  • 打赏
  • 举报
回复
就是控件少了一点,做界面太麻烦

*****
打工好辛苦
*****
钞票好难赚
*****
编程好伤神
*****
光阴好易混
*****
coolyylu 2002-08-20
  • 打赏
  • 举报
回复
to foxer:
我今天和一个在建筑行业软件的老板谈了一下,觉得满有意思的。他们的产品也是使用vfp写的。从dbase到现在,他们本来想使用delphi转型,后来发现其他软件的成本太高,转型带来的成本也很高,转型不好反而会失去市场。所以就没有打算转型了。
那个小公司的产品占领了全国20多个省,他们没有销售人员,现在客户自己找上门来
liuri璇玑 2002-08-20
  • 打赏
  • 举报
回复
:)

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧