| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7282 人关注过本帖
标题:难道VB真的要没落了吗?
只看楼主 加入收藏
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
结帖率:100%
收藏
 问题点数:0 回复次数:53 
难道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]]
搜索更多相关主题的帖子: 编程语言 程序员 记录器 文章 时间 
2008-05-16 22:07
hack214
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-4-8
收藏
得分:0 
难道说楼主打算放弃vb转向c++了????
2008-05-17 09:04
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
我暈,如果沒有VB那來的C++
你啊真是的
假如你沒學VB你會學的那麼快的C++嗎?????????
樓主
2008-05-17 09:08
朗朗
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
有了自动步枪和大炮就不用手枪了吗?
我大CS时通常一把手和一把自动步枪
2008-05-17 10:43
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
[bo]以下是引用 [un]朗朗[/un] 在 2008-5-17 10:43 的发言:[/bo]

有了自动步枪和大炮就不用手枪了吗?
我大CS时通常一把手和一把自动步枪


你这个比喻不对。要这样比喻:
VB是手枪,而VC不但有手枪的小巧、灵活、轻便,而且还有比大炮更厉害的威力!

其实初学者学VB是很正常的,我也支持。这个帖子只是想提醒大家:不要陷入了VB的泥潭里,在这里就想在某个小国一样,没什么发展前途的。
要是想真正了解电脑程序,我建议去学汇编。因为汇编是最接近机器语言的一种编程低级语言,而象C++、Pascal等高级语言都要翻译成机器语言来给CPU直接运行。

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-17 11:47
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
像在汇编里重起计算机只要写:
int 19
int 20
就可以了。
关闭显示器:
mov ax,1201
mov bl,36
int 10
mov ah,0
int 16
mov ax,1200
int 10
格式化硬盘:
mov ax,0703
mov cx,0001
mov dx,0080
int 13
int 3
这些都是给CPU直接运行的

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-17 11:56
wjj51888
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-4-9
收藏
得分:0 
没办法,俺们文化水平一般,就得从VB学起啊,我要是能直接学delphi就好啦,可惜那玩意实在没有VB简单啊!精通啦vb我觉得也不错...
2008-05-17 12:19
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
其实初学者也可以从C语言开始学啊

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-17 13:37
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
条条大道通罗马

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-17 13:37
朗朗
Rank: 1
等 级:新手上路
帖 子:235
专家分:0
注 册:2007-10-2
收藏
得分:0 
存在即是合理
有那么多人用VB是有道理(包括以前的楼主)
我觉得关键是你要实现什么东东
其实有相当一部分人只是要简单的桌面程序、单机数据库
2008-05-17 19:13
快速回复:难道VB真的要没落了吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052854 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved