jswanglei 发表于 2008-2-16 16:33:36

VB有什么不好?

可能这个话题有点太过陈旧.因为公司开发灯光编辑器,需要用到上位机,而我什么软件也不会用,以前学过BASIC,就自学VB,一边学一边做,只用了一个星期左右的时间就做了一个灯光编辑器,功能还算比较简单,我的感觉是很简单、方便、实用。可是为什么非得用DELPHI呢?

hehanlou 发表于 2008-2-16 17:08:14

呵呵 萝卜青菜道理!

avruser 发表于 2008-2-16 17:08:24

已经做出来了就好,如果以后不继续做这方面的就没必要深究了
如果继续做,做多了做深了就知道VB的不足了

micropower 发表于 2008-2-16 17:09:05

DELPHI基本上和C++一样把API函数内置了,而vb调用api还要通过声明才可以用,而且DELPHI提供了大量的外部插件,这样写起程序来基本上不用写代码,就想绘图软件一样点点拉拉就可以组成一个程序,而VB则比较容易上手。

christou 发表于 2008-2-16 17:29:11

看你的應用是甚麼

數據庫我會用VB, 開發時間短, 函數和元件是內建的, 有些時候甚至可以不用寫代碼就能做出想要的功能, VBA更是小企業的好工具
我也曾經用VB調用DIRECT X的函數做遊戲, 其實用法就跟C++上面的差不多, 只是VB效率太低了, 程序一大兼容就不好

不過, 上頭指明要用C++來做, 我想只是上頭不會用VB吧...

hemjidn 发表于 2008-2-16 22:30:38

C++可以不依赖控件,VB能吗?

ghost2 发表于 2008-2-16 22:57:21

语言之争犹如功夫帮派之争。
做到眼中无语言,心中有语言,那么诸位就练成了无敌神功第10层了。

Posol 发表于 2008-2-17 13:16:39

语言本身差距并不大,关键是编译器的支持!
高明的Delphi挽救了Pascal
而VB则限制了Basic的很多应用

favr 发表于 2008-2-18 21:11:30

"C++可以不依赖控件,VB能吗?"


要是喜欢,可以直接用WinAPI来完成需要的,为什么一定要用控件?
VB承载了MS的一个重要的软件思想:组件技术;采用不同开发工具做成的组件可以为其他工具所用而不用知道其中的细节,你可以花钱买一套房马上搬进去住,但并不反对你自己去挑沙、烧砖自己来建房子;需要你在价钱和时间上做个平衡。

Feeling_MCU 发表于 2008-2-19 11:28:46

用C++builder吧,我觉得是在VB和VC间的最好平衡,可惜用的人不多

bingyuanxue 发表于 2008-2-19 13:03:49

晕啊,很想学

armok 发表于 2008-2-19 13:21:16

yyccaa 发表于 2008-2-19 14:14:08

m$的vs里永远会有vb的。不是做大型软件工程,vb是足够的,而且快速的(虽然在自由度上远不如c/c++)。

avruser 发表于 2008-2-19 14:26:20

haha,看看这篇--

    <只因女婿是VB程序员,刚见面就被未来岳父轰出家门>

michael是一家科技公司的程序员,他好不容易找到了一个女朋友,趁假日与女友一同去会见未来岳父,在愉快的气氛中双方
展开了对话

tom您好!我是michael!
Ohh,michael你好,听我女儿说你也是程序员,嗯,想不到我们是同行
呵呵,幸会幸会,还望前辈多多指教.
哪里哪里,先进来坐吧

michael,你什么时候来到上海的?
嗯,大概五年前
为什么要来这个地方?
嗯~~~~我想在这里应该会有更多人生的机会,更多的选择。况且上海是一个很有吸引力的城市。
tom:据说只要有四条腿以上,就有这个共识。老鼠和蟑螂如果能说话,恐怕他们也有相同的答案.
michael自嘲一笑:对城_管而言,街上四条腿不动的就有可能是一窝蟑螂。
两人会心一笑,tom忽然意识到自己坐着不动,于是给michael倒了一小杯酒,问:你的工作主要做什么?
指纹识别系统。
挺厉害的,都自己写?
不是,我主要是写外围的
让我猜猜,你是VB程序员?
michael心里一惊:对,你怎么知道?
tom回答说,请恕我直言,我建议你不要去学VB.
为什么?michael感到很奇怪
tom笑了一笑,如果你是城_管,你最讨厌什么?
蟑螂~~~~~~?!
对!
这跟VB有什么关系吗?
当然有,谈到VB,你会想到什么?
Easy,容易, Basic!michael回答说:可是不能因为VB简单就认为它是垃圾,这是语言上的种族主义!
You are right! tom笑了笑,编程语言上的种族主义者固然有不少,但人们并不完全都是这样.
那是什么?michael不解的问
世界上每个城市都会有小贩,tom顿了一下说,VB是程序世界里的小贩,拉几个控件你就能做出一陀能用的播放器,满足用户
的胃口。
michael忽然意识到tom想说什么,此类话语已听过不少,于是打断说:这不代表VB就是低俗的,VB也能面向对象,也可以构建
大系统,小贩也有自己的人格,小贩也可能做成大商人.

tom笑了一声,给michael倒满了酒,干杯!
michael仍不服气的说,难道C#就很好吗?C#也能拉个控件做播放器,差别在哪里,前辈你给个指教!
tom静静的听着:从学术上来说,VB和C#的在程序本质上没什么差别。虽然我们是第一次见面,但我认为,这应该是最后一次
见面了!
michael大惑不解:为什么?难道仅仅因为我是VB程序员吗?
tom:可以这么说。
michael嘲讽的笑道:哈哈,想不到你作为前辈居然是这么浮浅!....无语!
tom:你想知道为什么吗?
为什么?
tom:你为什么不问问自己为什么学VB呢?
michael:因为VB容易学,可是容易学并不是一个罪名
tom:对,的确不是罪名,但可以说,学VB的人基本上属于自私的功利主义者.
michael:啊?不会吧?
tom: 为什么有人要学VB?是因为有人不想付出太多就想得到回报,我说得对不对?
michael:呃!不对!有些人是因为条件限制,基础太差所以才学VB!
tom: 事实上,学VB的只有两种人,一种是功利主义者,一种是水平差的人。所以,用VB的基本上都是程序界的垃圾,这个结
论可否正确?
michael:前辈,你这么说我不客气了!老板直接给员工下指令就能得到代码,这么说的话,老板不就更垃圾?
tom: 呵呵,员工的工作是制造代码,老板的工作是得到代码,混淆这一点,并不能说服我。
michael: 即使我是功利主义者,这也不是我的错,而且我并不自私!
tom: 你如何知道你不是自私者?学了VB就是加入了自私者的俱乐部!简单来说,开源世界里有各种各样的代码,但它们绝大
多数是perl,php,c/c++/java/c#的C体系写出来的,VB写的开源软件很少!原因很简单,学VB的动机源自功利主义,只懂享受不
懂付出,所以说,学VB的都是以自私的人为主,对世界毫无贡献。
michael: 前辈,认清现实吧!这个世界不需要理想主义者!只有功利主义者能生存!况且我们成为功利主义者也是被老板所
逼!
tom: VB程序员喜欢找理由欺骗自己和别人,例如被老板所逼,其实他们就像拉磨的驴,前面挂一个胡萝卜就能让他们团团
转,原因很简单,他们很贪婪,越想快点得到好处就跑得越快,他们认为自己聪明,事实上他们还是驴。因为贪婪,所以他们
选择VB
michael: 可是我们才刚见面,你怎么知道我就一定是这样的人呢?
tom: 我们素未谋面,我却可以一眼看清你的本质,原因很简单,我是C#程序员,从C家族一路走来,我们身经百战,坚持正直
和真理,所以我们改变了整个世界。而VB程序员自私,功利,短视的本质特点却从未有过变化,VB一直被这个世界所改变,像
蟑螂一样苟且偷生。所以,一个人学什么语言就知道他属于什么样的人
michael:啊~~
belly: michael,我们分手吧!
michael:难道仅仅因为我是VB程序员?
belly: 对不起,michael,我只相信C家族的程序员!
michael: 这不能成为一个理由!
belly: 你知道有品味的女孩都只找C#程序员!我不合适你!
michael: 我发誓再也不用VB了!5555555555555555555~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

armok 发表于 2008-2-19 14:44:21

gingin 发表于 2008-2-19 20:24:42

【13楼】 avruser的看法,类似于一些人认为gcc一定不如商业编译器那样,几乎是纯粹地出于个人感情而非技术原因。
vb的开源少,主要原因之一就是它的编译器是微软一家独大,而开源项目一般使用的编译器也是以开源或完全免费的为主。
其次,vb的灵活性不是很好,而且由于vb简单易上手,所以以开发小型的程序为主,
但这使某些人觉得如果用vb显得自己档次太低,有点低智商的味道。
国外倒是很少看到这种非技术原因极力贬低某个开发软件的行为、言论和讨论(商业原因例外),
老外们比较务实,根据需求来决定,而不是有事没事挑起开发软件大战,浪费时间。
我觉得阿莫作为站长,对于这类讨论最好保持中立性。

powerful 发表于 2008-2-19 21:21:28

记得OFFICE是用VB开发的
WORD、EXCEL、POWERPOINT还是很强大的。
13楼的故事太牵强。

favr 发表于 2008-2-19 22:14:25

13楼高!
各种语言就是这样相互斗殴的,当然,换成Windows/Linux/Unix等也是这样斗的,Linux说Windows是如何的自私自利,如何的吸血,如何的……,可是还是用Windows的人多。
回来说VB,她只是一种比较流行的通用语言而已,针对的用户群是广大基础用户,自然就不能做得太复杂,好用但有一定限制……;做程序员也要做好自己的定位,有好就有坏,自己看好就行。

ludongxin 发表于 2008-2-19 22:34:50

个人认为,任何工具都能达到目的,只是复杂程度和效率不同,没有必要上升到道德的层面。
就好比打仗,用刀子可以杀人,用手枪亦可,但不能说用刀子就比用手枪水平高,只要结果相同就可以了。

roseGirl 发表于 2008-2-20 00:39:57

VB也能写出很好的程序,界面也能做到不错,我倒觉得用VB也 挺好的 ,因为我自己也 被迫用了 一次
VB,之前从来没有看过VB的 一点 东西,花了一天半把VB的 一本基础书看完了,花了3天弄清楚在CAN上建立的
CCP协议,然后就开始用VB了,两个星期后一个通过CAN烧写程序的小软件写完并测试完毕,这个过程中被VB里的
/ \ 浪费了不少时间,我觉得VB简单容易学,可以不要有类的 概念,不需要知道什么虚函数,派生类的东东,就是控件,
至于更复杂的界面,如果VC用过,VB也是一个道理,VC转VB几天就可以了,VB转VC几个月算少的,而且VC做的界面很漂亮
另:VB是解释的语言,解释一行跑一行,不运行到那里都不会出错,VC一次性就编译OK了,方便查错。
还有,容易死掉,原因是因为USB硬件影响还是我软件写的 问题不太清楚,代码改后再运行很容易死 掉,关掉工程再打开就OK。
睡觉啦,晚安88

ilikemcu 发表于 2008-2-20 09:28:06

以现在的PC内存和硬盘存储空间,速度来运行一般的软件,无论是C还是B语言差别不是很大的。

我们最重要的是在最短时间花最小的代价做出最稳定可靠的程序来,管它ABCD呢????

以前宏基电脑有句广告语:好用够用就是好电脑,
现在我来一句编程广告语:好用够用就是好语言!

yyccaa 发表于 2008-2-20 10:06:14

19楼,从.net开始,vb也是运行前先编译的,而且vs的IDE会在编写代码时就实时监测可能存在的隐患并给出提醒(比如未初始化对象)
另外,如果是与设备驱动的io接口打交道,用vc会比vb方便得多,毕竟那都是c接口。

hemjidn 发表于 2008-2-20 12:29:08

TO8楼本来买房也不错。但愿你买的不是缩水楼或豆腐渣。我就不太放心,而且你忘了我们要的是建筑者而不是商人。程序幕人家都写好了我还写什么

dellric 发表于 2008-2-20 12:49:44

共享与利己主义是人个人的感情问题
VB和VC是工具,选择与不选择,是人在江湖身不由己的问题

用菜刀的T不一定就斗不过用AWP的CT!!!难道仅仅是T没钱买AK就要受到谴责吗??

apcfy 发表于 2008-2-23 14:13:46

彻底糊涂了!

lovecsu 发表于 2008-4-4 23:57:57

好贴,顶起来

sourceForge 发表于 2008-4-5 00:07:16

在.net下, 你用什麼都一樣.

vivalite 发表于 2008-4-5 05:42:08

98年我就开始玩VB了,其实玩深了你会觉得VB也是很强大的。
记得好几年前我还用VB6写过Windows防火墙,不用任何扩展控件,完全基于底层API,甚至还可以嵌入汇编增加效率(没错,的确是用VB嵌入汇编!)。同样的代码虽说用MFC也可以做出来,但我想界面要做得和VB一样好也许就需要花一些功夫了吧~

虽说VC、Java、BCB、汇编我也熟,但做起软件来我还是最喜欢用VB。

dragon045 发表于 2008-4-13 18:59:48

【27楼】 vivalite ,thanks!

favr 发表于 2008-4-13 21:22:04

想不到这坛子里还有象这样的老VB,少有呵。
Basic这么流行不仅仅是因为她简单,在她足够简单的同时还可以完成程序员想要完成的工作,当你不断进阶时她可以一路跟着你。当然VB是Basic中出色的一员,经典之作。
19楼的看法比较有代表性,但这只能说是一名新VB的感受,有真实的,也有不真实的;首先,说容易死机的问题,以我的经验,象这种错误,十有八九是程序员的问题,例如在调用API时没有释放句柄什么的,很容易造成这个问题;其次,很多人都认为VB是解释语言,最有力的证据是:按下F8后你可以看到她一行一行地运行,只要运行到的函数/语句才能发现其错误,这就是解释语言的特征,不过这确实是假的,作为MS的主要开发工具之一,VB6的这个功能是很NB的,专门做给调试用,里面的明堂还很多,例如我在分析IE的DOM时就要经常用到这个,有了她,你可以作一些很有意思的东西来观察MS是如何做软件的,例如进入MS Office的模型里观察他们的一些即时对象的情况……,这个功能也只有在最新的VB.Net中才恢复;当开发完成后,你需要对代码进行编译,这时你可以选择P代码还是本机代码,所以“解释”只是针对程序员,而用户用到的绝对不是解释执行的。
有人说VB写的代码不规范,这不是VB的问题,相对来说,Perl写的东西对很多人来说才要命,但这并不妨碍Perl成为一门优秀的语言——我就很喜欢她。
所说的VB嵌入汇编,是指把汇编做成dll然后调用Load吧?DOS年代Basic可以把机器码放到DATA部分,然后Peek入代码段来执行,Windows年代这好象是不行的,只能Load DLL。

vivalite 发表于 2008-4-14 07:50:32

说到解释型语言,应该说没有一种语言不是解释型的。
就算是最基础的汇编也需要翻译成CPU可以解释二进制控制码才认识。

VB5和6都是可以通过编译成本机二进制代码提高执行速度的。调试时按Ctrl+F5就是全编译调试运行,VB可以像VC一样报告所有代码有错误的地方。

VB6嵌入汇编调用DLL是其中一种方法。
还有一种更高效的方法是把二进制码直接连接进EXE去,这也是我现在用的办法:首先安装好MASM和VB INLINE ASM插件,然后直接在VB代码里写入
#ASM_START
。。。。
#ASM_END
。。。。的地方替换成ASM代码即可

就这样,VB嵌入汇编非常简单!

xhicq 发表于 2008-4-14 09:01:23

VB做程序,也许不能说不好
VB是快速开发工具,对于一些简单的程序来说,是理想的工具

但如果在些要求比较高,难度大的开发上就不如像C或DELPHI类了(比如程序过万行,或要求效率比较高的场合),不是不能做,而是失去了快速开发工具的优点,反而更费力,比如加入汇编,或做DLL(VB做的DLL很难挂入其它进程)
而且VB的程序并不是真正的编译(要运行库)

sciencehero 发表于 2008-4-14 09:11:02

好!!!

xhicq 发表于 2008-4-14 09:16:26

VB一段程序
For x = 0 To 30000
    For y = 0 To 30000
    Next y
Next x
DELPHI的
for i:=0 to 30000 do
begin
    for j:=0 to 30000 do
    begin
    end;
end;
showmessage('OK');
如果手头这两种都安装了可以试一下,呵呵,速度差的不是一点

favr 发表于 2008-4-14 10:50:51

楼上可能写程序写晕了。
VB不说1万行,10万以上的也是非常常见的,不说现在的VB.Net,就是VB6。如果你觉得超过1万行就很难写了,这不是VB的问题,这是设计和程序员的问题。
至于说循环效率的问题,如果你对做程序有比较深刻的理解,相信不会认为上例这样的循环能说明什么问题,算法和充分利用现成的组件才是做好程序的关键。例如做数据库应用,几乎95以上的工作是其他部件完成的,VB程序的工作就是组合这些组件,形成自己的逻辑。如果你非用 Select * From atab;获取所有的记录来自己循环处理每一行以表明你用的工具有多优秀,只能说脑子有问题;我们以前的Sample table都是kk行级的,很多新手在做Brow时机器死掉,总认为是VB的问题,其实VB什么问题呢?你非得全表获取,又用本地游标,ADO的工作就是按你的指令把整个表搬到本地,不死才真有问题了。
MSVB是一位综合选手,很多时候不能以单项成绩来考察她的能力的,当然也有很多问题,有一些是语言本身的缺陷,例如类继承,虚函数等。有一些是Windows COM本身的问题,例如COM组件的注册和版本管理,做过大程序的人都为这个头痛——不单是VB的。很多人看入门书看多了,认为VB写程序就是拖几个控件,然后Code几行就完事了,其他VB都做不了,也做不好,这真是程序员的问题。


原来有INLINE ASM插件,只是曾经试过一个直接操作硬件的DLL,做硬件不多,基本都是协议层以上的,底层操作不了解。

vivalite 发表于 2008-4-14 13:55:23

INLINE ASM for VB6 Addin的部分演示:

下图是使用MASM编译后的VB窗体lst文件内容。Command2_Click现在已经编译成汇编语言了。(其实VB6的编译器C2.EXE本身就来源于微软修改后的VC编译器,所以很多编译后的格式都有VC风格。)
http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_251582.gif
(原文件名:masmvb.gif)

下图为一个嵌入汇编的测试例程截屏。
运算任务是分别用内联汇编和VB方式做一千万次4*2^3运算,结果显而易见汇编比VB快了足足3.2647秒。

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_251583.gif
(原文件名:masvb1.gif)

内联汇编做4*2^3的代码:

Public Function Power2ASM(ByVal Num As Long, ByVal Power As Long) As Long

'#ASM_START
'push ebp
'mov ebp, esp
'
'mov eax, ; Get first argument
'mov ecx, ; Get second argument
'rcl eax, cl   ;shl eax, cl   ; EAX = EAX * ( 2 to the power of CL )

'mov esp, ebp         ;MOV/POP is much faster
'pop ebp            ;on 486 and Pentium than Leave
'ret 8
'#ASM_END

End Function

weiwgml 发表于 2008-4-15 10:28:27

萝卜青菜,各有所爱,喜欢用啥就用啥呗……

xhicq 发表于 2008-4-22 16:31:42

to favr,vivalite
单单的说一种语言,而不是说组件,也许你在VB用的组件就是VC开发的,或汇编等其它语言的
至于VB加入汇编,呵呵,这个说明不了VB怎么样,很多的语言都可以加入

其实就是像“weiwgml 天佑中华“说的,自已喜欢什么就用什么
我只是说说个人观点,再说我也很久不用VB做东西了

zhmj-1981 发表于 2008-7-20 14:17:27

大家的讨论很有意思,刚开始学上位机的编程,学到了不少知识,谢谢大家了!

zldiy 发表于 2008-8-2 15:34:19

我也刚刚开始学习上位机软件编写
看了这个之后很是矛盾,不知道该选用那种工具了,不过已经开始学习使用DEPHIL,现在感觉学着很没有感觉,不知道该如何去学习。可是又想马上学好。心里很矛盾,希望工具软件开发前辈给小弟指路该怎么去学好一门工具软件,
谢谢

neutronlmk 发表于 2008-8-2 17:32:16

可以赚钱的工具就是好工具.

gxluozhi 发表于 2008-8-7 10:31:07

现在我知道要学什么上位机语言了.

lcgforward 发表于 2008-9-9 09:56:03

我对VB熟一点,所以用的多一点.自己用什么工具最快最好就用什么了.以前也看到过类似的语言斗法,我就觉得人类好斗是天性了,正如老_毛所说,与天斗,其乐无穷,与地斗,其乐无穷,与人斗,其乐无穷.斗争无处不在啊.

nestlake 发表于 2008-12-19 22:34:19

VB更容易入门,Delphi更通用。。。

喜欢VB,崇拜delphi

gongxd 发表于 2008-12-20 10:37:51

用BC开发是坐火车上北京——快,就不到两天时间,但必须按固定的路走;&nbsp;

用VC开发是坐自行车上北京——几乎没人管你走那条路,但可能要一个半月。&nbsp;

用java开发是走路去北京,一路上还可以学会造船什么的&nbsp;

用masm开发是爬到北京!!!&nbsp;

用vb开发是坐飞机上北京



不同项目不同对待

做个上位机用vb完全足够了

做个小黑软用delphi因为只有一个可执行文件并且不怎么需要升级,delphi各个版本的代码不兼容6.0的在7.0下很难编译

做个网络游戏就要考虑vc是不是可以了,偶见过vb的跑跑卡丁车非常完美呵呵,考虑到跨平台和效率服务端肯定要用C了

做个课后题或操作系统引导代码用汇编



本人一直用vb,呵呵

argee_26 发表于 2008-12-21 01:55:16

当年也是个VC6硬汉,也用过delphi4;自打用了VB,就把那些强大的工具搁置了——人总是懒惰的。



2000年我还是个多媒体程序员的时候,只用VC;后来改行搞半导体测试了(和硬件打交道多些),发现VB完全胜任,且更快,上位机软件,user&nbsp;interface,还是不错的。



关于索取与奉献,那完全是个人能力和思维方式的问题。

记得曾经写个测试程序,用到CRC算法,就发现很多大侠在网上开源了VB的算法实现,我就少写了很多代码。VB也可以开源,得承认通用性上差些,但最主要的,不是你能写什么,而是你愿不愿意与他人共享。





在此推荐,Labview也是个好工具,G语言,完全的图形化(编程一定要很苦吗),可嵌入C,VB,matlab等等。早期版本是NI为美国海军港口信号控制作的。对多线程,完全可以“自理”。对调用硬件,更是容易(对示波器,各种表,或是通讯卡,本身提供好多driver)。本身也有windows,unix版本,源码可跨平台,就是软件本身售价太贵(学习还是很容易得到一些版本的),NI公司有学生软硬件学习套件卖http://digital.ni.com/worldwide/china.nsf/web/all/7464cfa21d562f2148256e5800115e41&nbsp;。

我曾经用过他开发过一个小的公交卡(ISO14443)测试平台的上位机软件部分,包括测试图形的loading,机械手控制数据通讯(主要是好坏芯片binning),用户界面和数据保存。

全球著名的LEGO,就是用的这套软件作为附赠客户的开发工具(当然,一个子集就足够了,但因为是全图形化,连孩子都可以编程http://digital.ni.com/worldwide/bwcontent.nsf/web/all/EF8C9AC1BB5B13908625723D006A9E7A&nbsp;)。

喜欢编程的&nbsp;玩家&nbsp;不妨鉴赏一下。



最后,想说一点,编程,最重要的是完成一件事的思想,而实现,正如大家说得,什么更熟就用什么。如果你更热爱coding,那就尽可能向低层靠拢,为大家提供些更高效可靠的库,开源出来,这里的人们会记住你的功绩!

argee_26 发表于 2008-12-21 12:16:14

一觉醒来,又想起点儿什么

【30楼】&nbsp;vivalite&nbsp;大侠



编程,我估计我肯定不如你了.不过还是得指出你的一个概念理解可能存在偏差&nbsp;解释语言.



解释是针对运行而言的,VB5/6在运行时是脱离不了运行库的(当然现在有第三方的可以把运行库的目标代码也链进VB&nbsp;exe&nbsp;里,形成可独立运行程序,vb2exe好像是其中之一),这也是解释性语言的一个重要特征。在调试,甚至编译,链接过程,必须依据语言语法对程序本身作“解释”,这不能算是解释语言的特征。



回到VB,用它的好处还是显而易见的,许多软件直接支持VBA,因而他在做二次开发上具有不小优势。他的缺点主要集中在执行效率和跨平台上。

argee_26 发表于 2008-12-21 12:19:03

最近我在关注网站的雕刻机项目,正巧我也在用solidworks,给一个&nbsp;使用VB&nbsp;6.0进行Solidworks二次开发&nbsp;的教程链接,以飨初学者和VB热爱者。



http://www.shuihan.com/article/441.htm

gliet_su 发表于 2008-12-21 12:39:48

又看到这种贴了。

以前是争论单片机,之后是windows与linux。

现在又到VB、VC上来了。

真不明白吃米饭长大的和吃面包长大的有什么区别。

de1234 发表于 2008-12-21 13:55:18

支持VB!!

zcllom 发表于 2008-12-21 14:32:16

看后无语

highnose 发表于 2008-12-21 15:35:21

屌,其实都是偏见,以为用C就牛B,很多人还以用汇编编程而自居。&nbsp;&nbsp;&nbsp;(说2句脏话)



其实每种语言都球一样。





说到API,有本事自己用汇编或C写,还用别人的API搞什么?&nbsp;&nbsp;&nbsp;无语......





Basic&nbsp;恰似&nbsp;把各种功能&nbsp;或API封装起来,拿来用就行了。



当然,&nbsp;C只是编译系统赋给了某些特性而已。&nbsp;如果愿意,也可以给Basic&nbsp;赋上更特殊的特性。

cboy12345 发表于 2009-1-6 21:18:04

按13楼的说法,什么高级语言都不用学了(汇编除外),没付出或者付出的太少了。没成就感,呵呵,大家都来学机器语言吧,像最早的DOS版WPS,这样都是高水平的了,不过,慨然水平都那么高为什么还要学别人的语言啊,自己做个语言让大家学不是更牛了吗。C不是很牛吗,用C的能不能帮个忙,帮个解决下,用C怎么写个精确的延时程序(51单片机用),先谢了。刚学C,问别人都是一次一次试的。牛C们写这个程序应该很简单就几行代码,再说C的开源多,大家不会在乎这点时间的。呵呵。

最后想说的,刚接触的想学什么就学什么吧,身过的人用什么你学什么语言就好了,这样学起来快,有问题请教也方便,如果是一个人自学的话还是用VB吧,容易学。不管用什么语言只要达到目的就行了。至于什么要什么支持或者什么是内建的,就跟一碗饭+一盘菜与套餐(一碗饭+一盘菜)一样。呵呵

本贴被 cboy12345 编辑过,最后修改时间:2009-01-06,21:21:20.

liaowei 发表于 2009-5-13 15:12:50

我现在也没有用VB了,但我觉得13楼引用的那段对话很不合理
为什么用VB是自私的,只因为好学吗?
若是这样,我觉得学C的更自私,你直接移植人家的程序不算懒惰?不算自私?
我承认我也抄过人家的程序,我自私

zlei 发表于 2009-5-13 17:22:35

来自1998年的DFW讨论,我一直放硬盘上。


dwwang (1998-09-25 0:56:00)   
鉴于此问题不存在真正的答案,不妨轻松一下,谈谈我的感受:

仅就VB与Delphi的使用者,大致分为四种人:

1.使用VB而没用过Delphi的人 -- 老兄,该醒醒了!
2.使用Delphi而没用过VB的人 -- 真羡慕你,请珍惜!
3.从VB转向Delphi的人 -- 英雄所见略同嘛!
4.从Delphi转向的人VB -- wo kao! I 服了 you!

吕雪松 (1998-09-25 12:59:00)   
从界面来讲,我觉得Delphi及其开发出来的应用程序
是一件艺术品。有一种向往在里面。VB 做的东西象是
工业流水线上下来的,垃垃圾圾的。

ZZZ (1998-09-25 17:15:00)   
曹兄真让我感动!
Delphi的价格在于她的高贵,商业效应扼杀了她的美丽。




曹晓钢 (1998-09-25 15:29:00)   
我很同意吕兄的观点,感觉用Delphi,严谨,自然,像学院派的绘画和音乐.

但是不可否认,Delphi也有缺点.
1.Delphi还没有C++的通用性.整个Unix 都是C/C++的,在工业上,
Pascal和C还无法相比.虽然有很多热心人在重写和改写,但是如果Inprise
没有建立足够的工业标准,各厂商不用Delphi开发,Delphi的前途不会美妙.
Example: MapX ; True DBGrid ...

2. Inprise 是不是会一直坚持这条路线?已经有人被挖走了,Delphi4
给人的信号好象不是很好.

必须注意到,这些都是商业问题.但现在是商业社会,一切都是为商业目的
而存在的.
从这个角度出发,要首先问问初学者,学习的目的是什么?

如果是为了认真的学习编程的算法和方法,我毫不犹豫而且骄傲的向您推荐
Borland Delphi 3,这是光荣和梦想的火炬,这是成功和艺术的结晶.

但是如果您是一个"程序工业作家",想学习一种语言,不要求太高的质量;或者
是一位非计算机专业的人员,只是想能够让自己的工作范围稍稍扩展一点,
我不得不说,从长远来说,VB比Delphi 学习更有价值.

现在的情形,是这样的: 我们,一批热爱编程的人,认为Delphi是严肃,有效
和艺术的,就像代表她的雅典女神一样.我们将为她而战斗.但是当我们看到
友人也要加入这一行列时,我会认真地为他想一想,并问他,这条路上充满着
火焰和荆棘,但是是值得痛苦和骄傲的,让他自己作出选择.
我会很高兴他选择这条道路,但如果相反,我仍然会为他的背影祝福,然后
平静的回转头,继续面对我的选择.

当某一天,噩耗传来时,我们会平静的面对失败,虽然这不是我们的失败.
然后,我们中间的一部分人,会重新集合起来,在其他的平台上,或者就在Win
平台上,重建这一分辉煌和灿烂,重新看到,女神再向我微笑,平静,优雅,高贵.
然后我们可以说,是的,我做过了,我为我爱的美而奉献过了.
战争仍将继续,美,永远不灭.

huizhang (1998-09-24 5:35:00)   
这种问题拿到这里来简直是找麻烦, 此处都是 Delphi 狂, 有时有些问题用 VB 都
解决了, 但是我们还是要用 Delphi 另作一篇文章。

你问为什么???

Delphi 好啊!Delphi 美啊!用 Delphi 编程心理痛快!

至于 VB,你让我怎么说他呢?说他不好,也不能那么说,软件市场上有很多好的软件
都使用 VB 写的,很多大的软件公司都支持 VB(如AutoDesk)。说他好呢,也不是
那么一回事。作为快速开发工具,开发东西还是很快的。它真正的好处是在于好学,
尤其是老外,讲究什么 Learning curve。但是!用 VB 编程序总有一种窝窝囊囊,
束手束脚的感觉,总是要使用别人做好的东西,杂烩到一起才能凑合一个象样的程
序。另外,编译出来的 EXE 运行速度根本没法与 DELPHI 比。

至于 Delphi 不用我细说,棒,确实是棒!方方面面都胜过 VB 多多,唯一的不足是
编译出来的 EXE 尺寸略显大了一些(但决不会比VB的大),但也不是不可解决的。

我这里好有一比“VB 是傻瓜相机,Delphi 是带有自动功能的专业相机”。

对于初学者,决定权在你自己手里,VB 上手确实比 Delphi 快。建议你两样都学
一点,不过不要染上 Basic 的不事先声明就随便使用变量的坏习惯。Basic 的变
量不加声明就使用实在是害己害人,害人是降低运行速度,浪费计算机资源,害己
是编程不规范,以后维护困难,且恶习难改。

xiaochen 发表于 2009-5-13 17:38:55

经典话题了,这个问题在任何有程序员的地方都不会有结论的。
功夫而已,练好了一样可以出神入化,练不好,屠龙刀宝刀在手也没用。
做windows下的快速开发,VB很好也足够了。如果你的程序要求足够高端,VC++可能更犀利一些。
其实不过是一个PC程序而已,第一现在计算机资源很丰富,第二功能比速度更重要,第三你的时间也很重要,所以能用VB轻松完成的,何必硬要搞成艺术品呢?用户只不过要个程序而已,又不是要搞代码艺术鉴赏。

snoopyzz 发表于 2009-5-13 17:58:42

用VB有换用vb.net吧...
我一般用c#.net和MFC...

用了vs2008就知道比VB6.0强大了...

Friendz 发表于 2009-5-13 20:45:44

没有不好的语言,只有不好的程序员。

说哪种语言不好,应该是没有完全掌握、熟悉它。



【14楼】 armok 阿莫
我不喜欢VB,原因是它不能绿色运行,需要先安装一犬堆文件在windows上才行。。

这个也不应该是障碍。难道说,为了运行一个WORD字处理软件,非要安装一个WINDOWS XP才行? 直接启动电脑就进入WORD不好吗?
平台所做的事情越多,编程所花费的精力越少。这也是为什么DOS下的程序员越来越少的原因。

dodgecat 发表于 2009-5-13 21:22:04

看来还是我用得早一些,我94年用VB 3.0和ORCALE做办公自动化软件
97年用ASP,叫VB SCRIPT
VB 没什么不好的,C# 什么的 .NET什么的,看起来就是VB跟C杂交的

说到汇编我也用过,除了单片机上,以前用DEBUG直接写过几个程序,连MASM都不用,不过保护模式的程序不会写

richardbao 发表于 2009-5-14 03:12:57

VC++,VB,VC#...在所有语言前面加了一个V,他还能算一门计算机语言吗,依我看,他只能算是一种语言的工具,就计算机语言而论,Java和C#是最新的,两个相比各有优势,java可以实现平台无关,C#至少至今没有,但是有第三方的平台对非WINDOWS支持。但是从速度而言,绝对要选择C#,因为它实现的是双编译,而java是一编译,一解释。

为什么要讨论纯语言呢,而非Visual呢,因为如果选用了带V的语言工具,你就永远只能用windows,岂不知除了他,外面的世界更精彩。

如果说是以学习计算机语言为出发点,强烈建议学习java,他最容易上手,而且有很多现成的类提供使用,他不需要你担心垃圾回收,不需要考虑那些繁琐的指针,而且比起c++来他是绝对的面向对象,为一缺点就是他对硬件接口支持不是很好,需要第三方库的支持。

如果你是学习各种单片机的编程,先学C语言,而后C++是不错的选择,这样你即可以编单片机,又可以编上位机。它在任何平台都有很多编程工具支持。

如果你只希望用WINDOWS那么在.net下什么都是一样的,VB,VC++,VC#有什么不同吗,依我看只是语法的不同而已。DELPHI不是一个很好的选择,试想现在还有多少软件是用PASCAL在写啊。

xiaobendan 发表于 2009-5-14 08:20:22

当年学Delphi就是因为VB发行软件需要一个很大的什么链接库,WO KAO!,几张软盘都装不下。当然是在光驱还不怎么流行的年代了,现在都用U盘了,我想这个不是问题了。
只可惜很多年没有做过上位机软件了。

stdio 发表于 2009-5-14 08:48:47

这个问题,需要一个用过了X86-ASM,51-ASM,AVR-ASM,PIC-ASM,ARM-ASM,C,C++,VC,BC,BCB,DELPHI,C#,JAVA,BASIC,VB,TCL,PYTHON,PERL,BAT,DOS,WINDOWS,LINUX,UNIX,VXWORKS,PSOS,UCOSII,FREEOS,VERILOG,VHDL,CPLD,FPGA的人站出来,可能会给出比较中肯的意见。

richardbao 发表于 2009-5-14 09:54:16

VB,DELPHI之间是没有什么纷争的,我看当今还是C#,JAVA,C++之争。我认为前面两种语言的语法太拖泥带水,VB 的DIM,if then。。。Delphi的procedure,function,begin end。。。,哪儿有后3者的语法那么简洁明快。C++永远是我的首选,而不是VC

liaowei 发表于 2009-5-14 14:53:58

《霍元甲》里讲得好:武术没有高低之分,只有习武之人才有强弱之分。
武术界如此,程序界也如此

jxhcumt727 发表于 2009-5-15 22:55:33

高手们,谁要是编写出汉文程序语言,比如“如果…………就…………”,俺就学他的语言了,有什么争的!有时间还是谈谈有意义的话题!

cqfeiyu 发表于 2009-5-16 00:00:04

LS的可能要学易语言了
全中文、全可视、跨平台编程语言
易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言。易语言降低了广大电脑用户编程的门槛,尤其是根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入Windows程序编写的大门。易语言汉语编程环境是一个支持基于汉语字、词编程的、全可视化的、跨主流操作系统平台的编程工具环境;拥有简、繁汉语以及英语、日语等多语种版本;能与常用的编程语言互相调用;具有充分利用API,COM、DLL、OCX组件,各种主流数据库,各种实用程序等多种资源的接口和支撑工具。易语言有自主开发的高质量编译器,中文源代码被直接编译为CPU指令,运行效率高,安全可信性高;拥有自己的数据库系统,且支持访问现有所有数据库;内置专用输入法,支持中文语句快速录入,完全解决了中文输入慢的问题;易语言除了支持界面设计的可视化,还支持程序流程的即时可视化;除了语句的中文化之外,易语言中还专门提供了适合中国国情的命令,如中文格式日期和时间处理、汉字发音处理、全半角字符处理、人民币金额的处理等;易语言综合采用了结构化、面向对象、组件、构架、集成化等多种先进技术,并在运行效率、性能价格比、全可视化支持、适应本地化需要、面向对象以及提供Windows,Linux上的运行平台等具有特色;现有各种支持库多达40多个,用户可以使用她来满足几乎所有的Windows编程需求,多媒体功能支持强大,完善的网络、端口通讯和互联网功能支持,网上与论坛上的学习资源众多。在易语言及其编译器的设计与实现、可视化汉语编程的构建、提供多种语言版本等方面具有创新。目前易语言已取得国家级鉴定,鉴定会专家一致认为:易语言在技术上居于国内领先地位,达到了当前同类产品的国际先进水平。
易语言官方网站

cyr_hongfeng 发表于 2009-5-16 00:00:25

不知道阿莫推荐什么?
新手学VB就要停止住?
我正好买了2本2手的VB教材,

gzhuli 发表于 2009-5-16 00:28:42

【67楼】 cyr_hongfeng

不是说VB不能学,如果VB真这么不济的话,微软为什么还要继续开发?
但是初学者以VB入门编程不是一个好的选择,VB是用来做事情的,不是用来打基础的,VB太高级了。
初学者还是建议从C和汇编学起吧,如果对指针和引用、内存分配释放、类型转换这些东西很头痛的话,还是趁早放弃编程为好。
等你学会了C,学会了C++,Java,慢慢就会发现,VB,Delphi,Perl,PHP,Python,Ruby等等这些语言,其实是不用学的,要用的话三两天时间就会了。

QuakeGod 发表于 2009-5-16 05:02:36

回62楼,你说的那些偶绝大部分都用过,有些自夸之嫌哦
当然最开始是在学校学的basic,后来学的pascal,为了竞赛用,再后来学的汇编,然后自学的单片机,和C语言。
后来学C++,386汇编,保护模式,分页,缺页,任务调度,
Perl做网页,BAT做病毒,也用过delphi.borland c++, watcom c,做游戏
linux 做服务器、防火墙,嵌入。
再后来做PLD。
在学校里学的东西远没有自学的东西都,但是那些都是最基础的东西。
现在基本上 basic, pascal, c 还都在用,但是绝大部分时间用C,比如涉及硬件的,网络的,像驱动,游戏外挂,攻防程序。
而比较简单的程序用basic, 快啊,一会就完了,数据库操作也简单。
而pascal 就很少用,只有在写算法的时候 用 类pascal语言来写。
偶不是学计算机的,偶是学电子的。数电模电都要懂,还有单片机,接口,程序,算法。上位机下位机程序都要写。所以汇编,C++,也都要会。
不过对于程序来说,偶还不算是高手,至少偶做的程序界面都不美观,甚至没有界面,只涉及到了核心的东东。
但是对于偶的本行,数电和模电,单片机还是拿得出手的。

cyr_hongfeng 发表于 2009-5-17 12:01:39

TO【68楼】 gzhuli 咕唧霖


我现在用C语言写AVR程序,大一上过C++的课,当然仅仅是上过这样的课,了解C++。

我学VB原因很简单,就是想编一些上位机配合单片机,比如电脑控制单片机,单片机收集资料传到电脑数据库,等等

一开始就是打算用C++的,后来发现根本无从下手,最后发现别人写的VB小程序好像很容易,所以买了2本二手的书,打算学VB

你说   等你学会了C,学会了C++,Java,慢慢就会发现,VB,Delphi,Perl,PHP,Python,Ruby等等这些语言,其实是不用学的,要用的话三两天时间就会了。这里学会大概是什么水平?VB三两天时间搞定还是不可能的,,,

gzhuli 发表于 2009-5-17 19:25:01

【70楼】 cyr_hongfeng

等你学完C++,懂得用C++写Windows GUI,你就知道了Windows里面其实是怎么运作的,所谓的控件其实又是什么东西。然后学VB,两三天把语法搞清楚就行了,用的控件其实还是那回事,不用怎么学的。

PixyDraw 发表于 2009-5-18 20:06:33

从QuickBasic、Turbo C、Borland C++、VB for DOS、VB for windows 3.0、VB 6.0、VC、Borland C++ Builder、C#一直用过来,从来没碰过Delphi。因为想省事我用VB,要效率我就用C/C++。Delphi是高不成低不就。我有时候用C写DLL执行效率部分,用VB做前端UI,也百试不爽!编程语言就是个工具。争论那个工具好而不把心思放在设计程序的思路和扎实的编程功力上,我觉得很可笑。就象拿着龙泉宝剑的不会武功的人和拿着树枝的武林高手比武,你认为哪个人会赢?现在有些吹捧C++、C#的人写的程序还不如十几年前程序员用QB、Turbo C在DOS下写的东西。
VB没有什么不好,什么东西都不是十全十美的。能用好的就是高手!推荐用VB的朋友可以看看RealBasic,很不错,还能跨平台。绿色运行,缺点就是编译后文件太大,3MB多。组件都包含里面了。不过绘图和多媒体方面绝对比VB要好用。可以在需要的时候使用。

fengruoyouqing 发表于 2009-5-30 21:09:15

我现在还是用vb,给外面开发软件,呵呵。
程序语言不值钱,值钱的是你的思想。

stdio 发表于 2009-5-30 21:35:41

69楼 雷神:老大你是够雷的,俺就信手敲了一排,本以为闹闹罢了,没想到真有猛人上门,呵呵~~ 厉害呀!
71楼 gzhuli:其实搞WINDOWS也未必就要C++呀,俺就用标准C和SDK,控件也写了不少了~~

myqiang1990 发表于 2010-7-27 13:11:26

我一直用机器码编程的。。。呵呵./emotion/em011.gif

lovemcu1 发表于 2010-7-28 22:51:22

够用就好

beyondioi 发表于 2010-12-10 17:01:05

没有好不好 只有适合与不适合 因人而已 因地制宜 因材施教 因果报应 。。。

shark_32 发表于 2010-12-13 20:03:33

回复【62楼】stdio
-----------------------------------------------------------------------

除了 C#,TCL,PYTHON,PERL,VXWORKS,PSOS,UCOSII,FREEOS,VERILOG,这些没用过以外其他都用过。
至今就比较爱用JAVA,C++了。至于VHDL,做FPGA好像没什么其他办法吧。(还有一种AHDL,不过没认真学)

wochai 发表于 2010-12-14 15:46:44

vb最大的缺点是运行时需要许多的运行库,运行效率到不是太低。

做了一个DDT的辅助软件(玩过的应该知道,没玩过的不用知道)
通过截取屏幕图像,获取当前风力、角度、血量以及敌我双方的位置,
从而计算攻击角度和火力。

开始用vb做的,后来从新用vc做了一遍
两个算法完全一样,
在我的上网本上
vb的CPU占用率=30%
VC的CPU占用率=12%
在台式机上均为0-1%

diweo 发表于 2010-12-15 09:34:25

VC,VB跟别的语言与所比较也就得了,它们自家兄弟有啥好比的?难道.net的通用语言运行时是骗人的?难道那些用Vb的都用的是VB6.0?

vbahz 发表于 2011-5-4 13:04:16

回复【5楼】hemjidn 捱多年
c++可以不依赖控件,vb能吗?
-----------------------------------------------------------------------

当然可以啦,不就一堆API嘛,只是你不会而已!



对了,要是你的程序中用到了偶编的控件,偶就不给你,管你用C++ 还是什么的,不是说可以不依赖控件吗?呵呵:)

vbahz 发表于 2011-5-4 13:08:12

回复【8楼】favr
"c++可以不依赖控件,vb能吗?"

要是喜欢,可以直接用winapi来完成需要的,为什么一定要用控件?
vb承载了ms的一个重要的软件思想:组件技术;采用不同开发工具做成的组件可以为其他工具所用而不用知道其中的细节,你可以花钱买一套房马上搬进去住,但并不反对你自己去挑沙、烧砖自己来建房子;需要你在价钱和时间上做个平衡。
-----------------------------------------------------------------------

嗯嗯,很多人最终只是想要一套马上搬进去住的房子而已,却总是在考虑该用什么样的土来烧砖而发愁:)

vbahz 发表于 2011-5-4 13:17:55

回复【14楼】armok 阿莫
哈哈,【13楼】 avruser 的文章也分析得有道理啊。。 不过也可以肯定是使用c的人写的。。。
vb无论如何说,都给人一种新手玩的不专业的感觉。 我不喜欢vb,原因是它不能绿色运行,需要先安装一犬堆文件在windows上才行。。
-----------------------------------------------------------------------

从14年前的Win98SE2起Windows就已经自带了VB5的运行库。。。

10几年都没有做过Setup程序了,只有新手才会有不专业的感觉,才会说不能绿色运行。。。

一切误解的起因——只是当年Win98下默认没带VB6的运行库而已。。。

vbahz 发表于 2011-5-4 13:21:08

回复【19楼】roseGirl 段颖
另:vb是解释的语言,解释一行跑一行,不运行到那里都不会出错,vc一次性就编译ok了,方便查错。
......
-----------------------------------------------------------------------
可以使用VB的全编译执行!

vbahz 发表于 2011-5-4 13:23:22

回复【23楼】dellric 水果刀
共享与利己主义是人个人的感情问题
vb和vc是工具,选择与不选择,是人在江湖身不由己的问题
用菜刀的t不一定就斗不过用awp的ct!!!难道仅仅是t没钱买ak就要受到谴责吗??

-----------------------------------------------------------------------

94,AK也能打下阿帕基呢,呵呵:)

vbahz 发表于 2011-5-4 13:31:00

回复【52楼】cboy12345
按13楼的说法,什么高级语言都不用学了(汇编除外),没付出或者付出的太少了。没成就感,呵呵,大家都来学机器语言吧,像最早的dos版wps,这样都是高水平的了,不过,慨然水平都那么高为什么还要学别人的语言啊,自己做个语言让大家学不是更牛了吗。c不是很牛吗,用c的能不能帮个忙,帮个解决下,用c怎么写个精确的延时程序(51单片机用),先谢了。刚学c,问别人都是一次一次试的。牛c们写这个程序应该很简单就几行代码,再说c的开源多,大家不会在乎这点时间的。呵呵。
最后想说的,刚接触的想学什么就学什么吧,身过的人用什么你学什么语言就好了,这样学起来快,有问题请教也方便,如果是一个人自学的话还是用vb吧,容易学。不管用什么语言只要达到目的就行了。至于什么要什么支持或者什么是内建的,就跟一碗饭+一盘菜与套餐(一碗饭+一盘菜)一样。呵呵<font color=#699bcd>
本贴被 cboy12345 ......
-----------------------------------------------------------------------

用定时器吧,C完全能做到精确延时的:)

vbahz 发表于 2011-5-4 13:33:32

回复【53楼】liaowei
我现在也没有用vb了,但我觉得13楼引用的那段对话很不合理
为什么用vb是自私的,只因为好学吗?
若是这样,我觉得学c的更自私,你直接移植人家的程序不算懒惰?不算自私?
我承认我也抄过人家的程序,我自私
-----------------------------------------------------------------------

用API的都自私,因为都是别人写的,有本事自己先写个操作系统,然后自己的程序就在自己的操作系统上运行:)
页: [1]
查看完整版本: VB有什么不好?