发一篇关于Vb vs Delphi的文章,支持Delphi的一定要进来表态表态。(0分)

H

honghs

Unregistered / Unconfirmed
GUEST, unregistred user!
原文在http://bbs.whnet.edu.cn/cgi-bin/bbscon?Delphi/M.963649330.A=1598
我copy的时候可能会少了一部分。
发信人: flier (小海 //爱喝可乐 ^_^), 信区: Delphi
标 题: [转载] Re: Delphi是VB杀手?[摘自北京末名BBS]
发信站: 武汉白云黄鹤站 (Sat Jul 15 16:22:10 2000), 站内信件
【 以下文字转载自 VB 讨论区 】
【 原文由 flier 所发表 】
首先感谢bone花了这么大精力编译出这份报告,非常不错的说! :)
不过我还是想对其中一些我认为可能不稳妥的地方提出一些自己的见解
【 在 bone (李逍遥) 的大作中提到: 】
: 【 在 CoffeeI (呵呵~~我来了) 的大作中提到: 】
:
: Sorry,发现前面表格中很多东西没对齐。这里整理后再贴一编方便比较。
: 总之,学VB一定要有信心,而且要看准VB的长处!
:
: 呵呵,说实话,我一向瞧不起VB和广大VB程序员的(呵呵,别打我!)。
: 但仔细想想,比较的一般都是拿VB明显的弱点和别人比。VB发展到现
: 在,它的功能已经大大扩展了。尤其在网络应用和数据库方面,VB
: 走在了其他产品的前面。我找到VB和Delphi的一篇官方权威比较,我
: 想VB程序员不必在Delphi程序员面前抬不起头来,适当的时候给那些
: 用鼻孔看人唱着"Dephi -- VB Killer"的人来几耳光。
:
所谓delphi是VB killer的说法
就像认为只有用VC才是真正的程序员一样
完全是一种误解,虽然DELPHI和VB,VC都有很大
的重复面,但是我认为他们各自的侧重点是不同的
具体观点上次和你在BCB版的讨论中已经说得比较清楚了
简要来说,现在的发展势头是VC向着较底层应用发展,如用VC写
COM/DCOM/COM+等等应用,而高层则是VB/VBA的天下,
而最底层的数据库则是MS SQL SERVER 7/2K,这就是MS DNA模型
打的如意算盘……而DELPHI/BCB则不同,BORLAND的这一系列产品
实际上是在寻求VB 和 VC之间的一个平衡点……略
: 下面这个测试是NSTL公司做的。原文是英文,而且很长,我节选一些
: 结论性的东西翻译总结。我一般都是看英文,许多概念在我脑袋里就
: 是英文形式,所以翻译的可能别扭一点,最怕的是连关键术语也不合
: 大家胃口,还请原谅!NSTL选用测试平台是NT4(SP3),比较的是三个
: 流行的RAD(Rapid Application Development)开发工具:Microsoft
: VB 6.0、Inprise Delphi 4.0和Sybase Powerbuilder 6.0。由于这里
: 我们主要比较VB和Delphi,所以我略去PB的性能参数。关于PB,可以
: 提提综合性能结论:VB和Delphi综合性能都在PB九倍以上,所以后面
: 很多相对性能是以最差的PB为“单位一”来计量的。
:
poor PB, hehe
:
: 一:一般性的比较
:
: * 使用性(Usability)总结 *
:
: VB在三个产品中是最容易使用的。迄今为止,VB也是三个产品中最优
: 秀的数据库开发工具。它的许多Drag and Drop使得数据库开发高效、
: 方便。Delphi是这三个产品中易用性最差的一个。Delphi 4.0新增
: 的代码浏览器和多工程管理器提高了它的易用性,但bugs和很差的
: 文档让学习十分困难。Delphi提供的数据库工具也是三各中最差的。
: Inprise SQL Explorer是一个和Delphi环境分离的数据库浏览器,
: 并且关于调试IIS(Microsoft Internet Information Server)的文
: 档信息错了(faint!技术信息错误!注意了!MS&NSTL说的,他们不
: 说用户怎么知道!),关于调试Transaction Server的文档也毫无
: 帮助。
:
Delphi本身提供的Sql Explorer和Sql Builder功能的确很弱,大概也
就能够满足普通需求罢了,不过我觉得这也足够了,毕竟DELPHI不是象
PB那样专业数据库语言,何况还有诸多的第三方工具可以使用
偶平时还是比较喜欢手写SQL语句的说,:)
至于IIS调试,MS的VB在这方面具有先天优势,这是没有办法的,
其实DELPHI这个问题在DELPHI3第一次提供ISAPI支持时就出现了
但一直没有得到解决,不知是BORLAND没有发现这个问题(不大可能吧)
还是只倚靠公开信息无法完成这个功能(只怕这个可能性居多)
说句不好听的,MS特别喜欢留些后门,从古老的DOS下诸多的未公开结构
到win3.x/9x/nt下诸多的未公开函数……好像写个稍微COOL一点点的
程序就不用未公开的东东不行……呵呵
: * 性能(performance)总结 *
:
: VB重点在ODBC和ADO数据库访问,这比Delphi的BDE要快。Delphi
: 可以用“原始的”ODBC和ADO来提高性能,但这样做就不算Visual
: 开发了。Delphi的ISAPI网络模型比VB基于COM的模型要快,但VB
: 在多处理器(multi-processor)系统上的表现更佳。
:
bde有两种方式,通过ODBC(肯定比ODBC慢了)、或通过SQL LINK
虽然Delphi的bde如果直接用sql link的话,在很多情况下比使用
ODBC要快(不过BUG比较多),但是现在BDE的确已经老了,对一些新数据库,如
MS-SQL 7 使用ADO已经是大势所趋的说,呵呵
D4开始就可以很使用ADO,D5更是全面提供了ADO支持,大家都是在同一起跑线上 :)
至于DELPHI写多层数据库,我认为BORLAND的MIDAS技术的确是
独步天下,目前还没有哪个产品能够在这个层次上对之构成太大
的威胁,特别是MIDAS在D5中发展到3。0后,更是在性能上有很大提高
缺省支持无状态对象,为使用MTS/COM+提供支持
至于COM/DCOM编程方面,DELPHI更是C++外唯一支持所有线程模型
的语言(但愿偶没有孤陋寡闻:),这方面对VB有巨大优势
(不过偶始终认为VB不是写这种东东的,这个事情在VS中应该是由VC做的)
看过这方面资料的朋友应该明白差距有多大,特别是BCB5提供了对
win2k COM+ Neutral 线程模型,很爽的说,不过这个应该归功于ATL
的功劳,呵呵,MS的这个东东的确不错 :)
: * 功能(functionality)总结 *
:
: VB调试器在很多方面更优,他能够单步进入COM调用和SQL Server
: 中进程。只有VB允许程序员不Hack注册表就能调试IIS程序。VB
: 是三个产品中唯一支持Alpha本地代码而生成非常快的网络服务器。
:
hehe,VB是解释型语言,这个DELPHI无法比的说
不过BORLAND说以后可能会提供将DELPHI程序编译成
JAVA伪代码的功能 :)
: * 结论和推荐 *
:
: 一句话,VB和Delphi都不错,VB更易用。而"PowerBuilder is a
: bad choice for developing ANYTHING for a Windows platform"。
:
nod,特别是VB 7目前公布的很多特性,非常不错
: 一下很多细节比较罗里罗唆,但大致上是说VB用起来更方便,对
: MS产品和新技术提供的功能有的是Delphi没有的,Delphi也提供
: VB没有的,VB在Enterprise方面提供更好的工具,在众多方面
: VB更稳定,Delphi(特别是BDE)经常crash,现存的bug太多。
BDE垮掉很多情况下是程序本身编写问题,另外BDE设置也很重要
通过合理设置,可以大大提高效率和稳定性,不过BUG的确有 :)
: 个人看,我现在一直用VC,以我的认识,开发VB的那帮人比开发
: VC的那帮人利害,VC环境下的不少东西是学着VB变的越来越方
: 便的。至于Delphi,不知道最新版本处理上面bug如何了。
习惯了,呵呵,刚刚下了一个VS6 SP4,120M,呵呵,不会都是BUG吧:)
其实delphi程序总体上来说稳定性还可以,关键要自己在在编程时
把结构设计好,否则什么语言程序都可以把系统搞定,呵呵
:
: 下面是直观的测试数据。呵呵,由于PB最underdog了,如果是
: 相对测试,PB就作为了一个单位:
:
:
: 1 综合速度相对比较 (几何平均,数值越大越好,PB为1.0)
: --------------------------------------------------
: VB Delphi
:
: Overall 9.3 9.0
:
: SQL 1.8 1.2
: String 2.7 1.9
: Compiler 53 89
: Web 18.2 19.1
:
: --------------------------------------------------
:
: 2 SQL比较 (单位:千分之一秒,数值越小越好)
: --------------------------------------------------
: VB Delphi
:
: Call stored 2.8 3.8
: procedure
:
: Prepared querry 2.8 4.2
:
: Complex Query;
5.4 8.9
: Computer median
: value
: --------------------------------------------------
:
: 3 编译器速度(单位:千分之一秒,数值越小越好。编译不是执行)
: --------------------------------------------------
: VB Delphi
:
: COM call 1.8 .70
: Tak Function 5.9 5.4
: Sieve 17 8.2
: Permutations 160 120
: --------------------------------------------------
:
编译速度DELPHI无敌,中等大小程序基本上没有感觉就搞定了,呵呵
: 4 String测试(单位:千分之一秒,数值越小越好)
: --------------------------------------------------
: VB Delphi
:
: Format 140 47
: Find all 0.4 11
Delphi里面关于字符串搜索、替换的函数有严重BUG
详情可参看偶以前在DELPHI版发的文章,文中优化过的
函数效率提高非常大!
: Find one(forward) 4.4 3.1
: Find one(backward) 3.4 3.3
: Replace all 100 100
: --------------------------------------------------
:
: 5 Web测试(单位:页/每秒,数值越大越好)
: --------------------------------------------------
: VB Delphi
:
: Web Insert Record 58 110
: Web Query 23 Records 50 25
: Hello, world 120 230
: Hello, world * 1k 80 29
: Hello, program 120 120
: Stared State 110 230
: --------------------------------------------------
:
:
: 上面是性能比较表,下面是功能比较表,Y代表Yes,N代表No:
:
: --------------------------------------------------
: VB Delphi PB
: (COM Support)
: Late Binding Y Y Y
: Early Binding Y Y N
: Named parameters Y Y Y
: In process servers Y Y Y
: Out of proess servers Y Y N
: Object Browser Y Y N
: Apartment threading Y Y N
: Free threading N Y N
:
: (Debugger)
: Step into Y Y Y
: Step over Y Y Y
: Show call stack Y Y Y
: Conditional Breakpoints Y Y Y
: Watch variables Y Y Y
: Show CPU registers Y Y N
: Debug machine code Y Y N
: Show disassembly Y N N
: Single Step through Y N N
: stored procedure
: Multiple threads N Y N
: Break on COM create object Y PART N
: Step through COM calls Y N N
: Step through MTS wrapped Y N N
: COM calls
: Remote debugger N Y N
:
: (Editor)
: Extensible environment Y Y N
: Drag/Drop Y Y Y
: Multiple Functions per window Y Y N
: syntac coloring Y Y Y
: Function completion Y Y N
: Set breakpoints in editor Y Y N
:
: (Language Issues)
: Garbage Collect Objects Y COM Y
: Class inheritance N Y Y
: Multiple abstract interfaces Y Y N
: Templates/Generics N N N
: Stack allocatd objects N N N
: Method overloading N Y N
: Operator overloading N N N
: Default parameters Y Y N
: Apartment Threading Y Y N
: Free Threading N Y N
: Pointers to functions Only Y N
: for
: callbacks
: Runtime type identification Y Y Y
: Call by name Y N Y
: "Standard" calling convention Y Y N
: functions
: "C" calling convention N Y N
: functions
: User defined union types N Y N
: Pass user defined type Y Y Y
: by value
: Pass user defined type Y Y Y
: by reference
: Return user define type Y Y Y
: Pass array by value Y Y Y
: Pass array by reference Y Y Y
: Return array Y Y Y
: Exceptions Y Y N
: Inline assembly N Y N
: Call Windows API Y Y No callbacks
: Use resource file for Y Y N
: localization
: Source for runtime library N Y N
: is provided
:
: (Data Binding)
: Bind controls to database Y Y Y
: queries
: Bind controls to ADO/OLEDB Y N N
: objects
: Bind controls to user Y Y Y
: created data sources
: Bind to stored procedured Y Y Y
: Create OLEDB data sources Y Y N
:
: (Report Writing)
: Output HTML Y N Y
: Output Unicode Y N Beta
: Cross tabulated reports N N Y
:
: (Compiler)
: Can warn of unused variables N Y N
: Can warn of using N Y N
: uinitialized variables
: Can warn of unused assignment N Y N
: Can warn of assignment to N Y(Error)N
: loop
: Can warn of functions not N Y Y(Error!)
: returning
: Optionally remove Pentium Y Y N
: FDIV fix
: Optionally remove array Y Y N
: bounds checks
: Create Windows AP DLL's N Y N
: Create standalone executables N Y N
: (no DLL's needed)
:
: (Targeted Plaforms)
: Windows 95/NT Y Y Y
: Unix via HTML Y
: via HTML
: NT/Alpha Y N N
: Windows CE Y N N
:
: (Web Features)
: Debug web server as service Y N N
: Debug web server as application N Y N
: Embed form in Browser Y Y Y
: Debug form in Browser Y Y N
: ISAPI Y(ASP) Y N
: NSAPI N Y Y
: CGI N Y Y
: Connection pooling Y Y Y
: Cretedo
wnloadable controls Y Y Requires
: separate install
: GUI forms can be embeded in Y Y Y
: Web browser
: Create local apps with web Y Y N
: interface
: Source provided for Web N Y Partial
: interface
:
: (Wizards/Code Generators)
: Client/Server Wizard Y Y Y
: 3 Tier Wizard Y Y Y
: Create Web application Y Y Y
: NT service N Y N
: Wizard Wizard (generates Y N N
: wizards)
: Property Page Wizard Y Y N
: Installation/Deployment Wizard Y Y Y
: Web deployment wizard Y Y Y
: Data form wizard Y Y Y
: Stored procedure wrapper Y Y N
:
: (Design/Analysis)
: UML object modeler Y N N
: Code Profiler N N Y
: Design simulator Y N N
: Component Profiler Y N N
:
: (Components)
: Calendar Y Y Y
: Tabs Y Y Y
: Wizard Y N N
: Grid Y Y Y
: Tree Y Y Y
: Control list (control repeater) Y N N
: Hierarchical Grid Y Y Y
: Chart Y Y Y
: Modem/Telephony Y N N
: FTP/HTTP/SMTP Y Y HTTP only
: TCP Y Y N
: Web Browser Y Y N
: MAPI Y N Y
: Lotus Notes Through MAPI
: Through SMTP/POP
: Native API
: Rich text Y Y Y
: Progress Y Y Y
:
: (Servers Provided)
: Database server SQL Server
: InterBase
: SQL Anywhere
: Source code control Source Safe
: None Object Cycle
: SNA SNA server
: None None
: Component repository Y N N
:
: (String Functions)
: Find substring Y Y Y
: Reverse find substring Y N N
: Search and Replace Y N N
: Garbage collected strings Y Y Y
:
: (Data Management)
: Create/edit/view queries Y Y Y
: Visually create/modify Y Not through SQL
: tables/views Y
: Edit stored procedures Y N N
: Database diagramming Y N N
: Intergrate stored procedures SQL Server only
: with source control N N
:
: (Component Creation)
: CORBA support N Y N
: ActiveX controls Y Y N
: ActiveXdo
cuments Y N N
: Netscape Plugins 3rd party N
: Y
: Lightweight(windowless) Y N N
: controls
: --------------------------------------------------
:
: 呼!呼!好累!最后还有个比较表格啦!Excellent(E)可打90分,Good(G)算
: 70-80,Fair(F)60来分,Poor(P)就不及格了。
: --------------------------------------------------
: VB Delphi PB
:
: Degugger Exce Good Fair
: Compiler speed (Debug) Exce Exce Exce
: Compiler speed (Release) Exce Exce Poor
: Compiler sarnings/errors Good Exce Poor
: Editor Exce Exce Fair
: Language Good Good Good
: Intallation/Deployment Good Exce Poor
: Wizards Good Good Good
: Report Writer Exce Fair Good
: Query Writer Exce Fair Fair
: Database Designer Exce Fair Fair
: Multithreded support Fair Good Poor
: Code Browsing Exce Good Poor
: SQL syntax Good Good Exce
: COM interface Exce Good Fair
: Win32 API Good Fair Poor
: Use cookies Exce Good Poor
: Shared web state Exce Good Fair
: --------------------------------------------------
:
: 完毕!
:
厉害!小弟佩服的说,呵呵 :)
--
. 生命的意义在于 // ____/ //_ / //_/ .
. 希望、 / / /___/_/// / //_/__ __ _ _★ .
. 工作、 / / ____// / / // / /'__ / //`'_/ .
. 爱你的人、 / / /___/ / / /___/ / /// __/// / // .
. 和你爱的人 / /___/ / /_____/ /__/ /____/ / /_/ .
. …… //___/ //_____///__///____/ //_/ @126.com .
※ 来源:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: 202.114.39.242]
--
 
果然是一番胡言乱语!!!
DELPHI在数据库方面不行,我以前也同意,现在DELPHI5支持ADO,够用啦!
VB即使有任何优点,无法掩盖它的致使缺点:
程序太大,需要VBVMXXX。DLL。
仅此一项,VB已不适合做共享软件啦!
VB语法幼稚,无法直接使用API函数。。。。。。
VB的致命弱点有无数,都懒得再TYPE了。
//做WEB程序,如果是说CGI方面,ASP还行。如果是客户端应用软件或ACTIVEX,VB歇菜!
 
这么老掉牙的东西,竟然现在还往外帖。
文章中的测试是delphi4.0 vs vb 6.0,不用说大家已经看出问题来了吧。
这篇文章是NSTL专门为微软做的,微软把它登在自己的网页上,我就不再说什么了
 
;
VB也是三个产品中最优
: 秀的数据库开发工具。它的许多Drag and Drop使得数据库开发高效、
: 方便。Delphi是这三个产品中易用性最差的一个。
错,这小子用Delphi用的少,Delphi2.0就有Drag and Drop使得数据库开发高效。
;
Delphi 4.0新增
: 的代码浏览器和多工程管理器提高了它的易用性,但bugs和很差的
: 文档让学习十分困难。
错!Delphi文档不少,VB只是有多中语言版本,所以很他占了便宜。
而且Delphi4出在VB6的后面,怎么不和Delphi5比呢,Delphi5在性能、速度、稳定性上都有很大的提高。
: Inprise SQL Explorer是一个和Delphi环境分离的数据库浏览器,
: 并且关于调试IIS(Microsoft Internet Information Server)的文
: 档信息错了(faint!技术信息错误!注意了!MS&NSTL说的,他们不
: 说用户怎么知道!),关于调试Transaction Server的文档也毫无
: 帮助。
:
VB,VC的帮助中就没有错的?他肯定没有调试过MTS的程序。
: VB重点在ODBC和ADO数据库访问,这比Delphi的BDE要快。Delphi
: 可以用“原始的”ODBC和ADO来提高性能,但这样做就不算Visual
: 开发了。Delphi的ISAPI网络模型比VB基于COM的模型要快,但VB
: 在多处理器(multi-processor)系统上的表现更佳。
Delphi5也专门提供了ADO组件,比VB还快。
: 1 综合速度相对比较 (几何平均,数值越大越好,PB为1.0)
: --------------------------------------------------
: VB Delphi
: Overall 9.3 9.0
:
: SQL 1.8 1.2
: String    2.7 1.9
: Compiler 53 89
: Web 18.2 19.1
这不可能,VB的综合性能比Delphi高。
SQL:用Delphi5试试.
String更不可能,这人肯定作弊了,或它不知道Delphi的字符串函数到底有那些。
Compiler这里也有乍,Delphi的编译速度比VB不止快2倍。
Web他怎么测试的,这人肯定用的是CGI,不会编ISAPI要不怎么可能Delphi只快那么一点点。
: Show disassembly Y N N
这人连Delphi 能够显示反汇编都不知道还有资格评价Delphi吗?
Delphi中View菜单下的Debug Windows中的CPU不就是吗?

: UML object modeler Y N N
: Code Profiler N N Y
: Design simulator Y N N
: Component Profiler Y N N
有很多第三方厂商都提供了上述功能的组件。
: Bind controls to ADO/OLEDB Y N N
Delphi5不是有吗?
: Modem/Telephony Y N N
MSComm.OCX是VB的吗?Delphi也可以用,而且Delphi有速度更快的,带源码的控件
如spcomm, TURBO POWER Async Professional
: Source code control Source Safe
: None Object Cycle
Borland 有TeamSource
: Component repository Y N N
Delphi 自动管理Component
在每个Form上点右键都有Add to repository!
: Reverse find substring Y N N
有意义吗?
: Search and Replace Y N N
Delphi的StringReplace是干吗的?
这人不熟悉Delphi就别乱放屁。
他肯定是个vb程序员,为vb辩护,居然把一些鸡毛蒜皮都拿出来显示一下。
: Edit stored procedures Y N N
SQL Explorer和SQL Server的Enterprise Manager是废物吗?
: Database diagramming Y N N
Delphi5中也有。
: Report Writer Exce Fair Good
: Query Writer Exce Fair Fair
: Database Designer Exce Fair Fair
他没用过ReportBuilder和SQL Builder
和Database Desktop
否则怎么会是Fair
faint!
: Win32 API Good Fair Poor
这人肯定对Windows API不了解,Delphi可以掉用所有的Windows API!而VB却不行。
他说VB是Good说明VB也比较蠢,还要去调用大量的Windows API,
Delphi将很多Windows API都封装好了,程序员可以很少的接触到API,这也为以后 Delphi
跨平台打基础。
由于时间问题,我不想向这人学习,将Delphi中的各种功能、函数搬出来比较否则
几天都写不完而且我对VB不是很精通,不想跟他一样丢人。
上面的话可能有点过分或不妥请勿见怪。
 
大家不找这篇文章的作者来理论理论一下吗?,这文章还贴在武汉白云黄鹤站的delphi区呢,如果我是
版主的话,早就封贴这文章人的ip了。
 
早知道同志们反应这么强烈,当初就应该加点分给同志们了。
不过说pb是最差的,我倒是比较高兴,但说delphi比vb还差就有点太过分。
 
叩问苍天:
为什么世界上基于Delphi的控件会每天成千上万的出现,而我总是找
不到有多很的关于VB的控件(而能在VB下用控件,Delphi照用不误),是否这些
人同我一样都有些傻?
 
哈哈,估计全论坛的人都会进来狂扁的……
 
我一个月没来,就是这样欢迎我的吗?
 
文章太长了,为了不浪费大家的时间,只好先结束问题了。很高兴在看到大家这么喜欢delphi,一上
ms的站点就气人:什么vb6是个神话这种消息也有(不信吧,在ms的visual studio网页上就有这样的话的)。
 
我觉得VB与Delphi根本没有可比性。
 
我觉得这样的问题十分无聊
 
VB是什么东东?连面向对象都还没完成。
VB7听说很好,可是用VB6的同志们难过了。。。
 

1)DELPHI 的生成代码功能再增强就好了,很多的CODE 完全可以自动生成,我是指开发人员
使用选择,拖放的操作即可生成CODE ,
2)数据库功能再增强,不可回避 对数据库的控制能力不如PB ,没有嵌入SQL好用和方便

VB ,PB ,DELPHI 我用DELPHI ,各位,谁有兴趣,能力对DELPHI IDE 进行扩充,
增加功能,我一直在考虑这个问题,高手不吝赐教!
TFP@21CN.COM
 
顶部