难道VB真的要没落了吗?
我最初接触的编程语言就是VB了,当时的我觉得VB是世界上最好的编程工具,曾经很长一段时间我都在研究VB,并且用其做了一个“鼠标键盘记录器”,当时蛮高兴的。后来到了2006年底,我看到网络上很多代码都是用VC/C++写的,VB的实在是少的可怜。从那时开始我就对我心中的Vb的形象产生了怀疑,后来看到一个国外的程序高手嘲笑VB程序员的文章,并讽刺说“Dim me As VBProgrammer”,这使我很不爽,于是我就去下载Visual C++,想看看VC是不是传说中的这么好。
结果让我惊讶——我敢说,Vb应该是这些编程工具中最烂的了。
为什么这么说?
1.VB的常用控件少的可怜,像什么进度条,滑块、微调器、树状控件、IP地址、Rich Text输入框、列表视控件,标签控件等都要ActiveX的.ocx文件的支持,脱离了它根本运行不了。而在VC下这写都是本来就有的,是不需要任何ActiveX支持的。
2.用VB生成的EXE程序不是标准的应用程序。用Visual Studio的DEPENDS.EXE工具看,发现它们都有一个MSVBVM60.dll的动态连接库的支持。
3.无法像VC一样创建视图,只能做对话框程序。
4.无法调用在Windows2000以后新增的API函数,调用函数会说“找不到函数入口点”
5.代码量大,关键字长度大。定义一个变量要“Dim a As Interger”,像C语言只要“int a;”即可。
6.VB中不能内嵌汇编代码。其实很多时候高级语言是不能解决问题的,这时就要用汇编来解决。如果遇到这种问题,VB根本无能为力。
7.像VC、Delphi等生成的EXE都可以反汇编成ASM代码,而我反汇编VB生成的程序发现,其实VB是基于脚本来执行的,根本不是CPU来直接执行的,这说明VB的运行速度降了不止一个档次。
8.调用API要自己写声明,非常烦琐,而VC只要“#include <windows.h>”就可以了,它已经帮你定义好了。
9.无法调用DLL中的Class。
10.微软的大多数SDK(软件开发工具)都是用VC/C#写的,好少VB的版本。
11.对于字符串的概念很模糊,其实字符串是一串byte型数据,而Vb的定义只要Dim a As String就行,很多细节它省略掉了,对于以后的学习很不利。
12.学习Vb程序到最后连一个应用程序到最后到底是怎么运行的都不知道,在VB里不添加任何代码都可以运行,这看起来好象很方便,其实不然。这样会导致你连程序运行的流程都不知道,像标准程序的“WinMain”、“消息处理”、“创建主窗口”、“注册窗口类”、“主消息循环”等它都没有,这个问题是很严重的。
总之,我发现VB它不该省略的东西省略掉了,而该有的东西它有没有,功能少的可怜。
新版的Visual 是增加了不少东西,但是大多数缺陷却不是一下子就能改过来的。
要是学了VB一年还不跳槽往别的路走的话,那绝对没前途。
[[it] 本帖最后由 flyue 于 2008-5-17 11:40 编辑 [/it]]