在另一个与编程相关的网站上,我在某人的签名中看到了这一行.这不是我第一次见到这种情绪,虽然这是最严厉的:
"在VB或其任何变种中工作的人不是程序员,他们是马戏团的黑猩猩把粪便投入IDE ......"
VBA是我的面包和黄油,我可以用它自动化很多东西.是的,我知道它缺乏润色和一些功能,但为什么这么多的消极性呢?另一方面,VB不具备其他语言的含义?
Jul*_*iet 34
VB6,VBScript和VBA具有声誉,因为它们不是工业级语言.值得注意的是:
当然,VB并不是真正意图成为一种工业强度语言,所以上面提到的任何内容都不是对该语言的正确批评.幸运的是,VB.NET和最新版本的VBA修复了上述所有内容,因此VB.NET与市场上任何其他"严肃"语言都不相上下.
[轶事]
为了捍卫VB,我发现大多数人批评这种语言只是为了满足现状,而不是因为他们实际上使用过它.
几年前,在一个聊天室,我遇到了一个年轻的新手栏杆,对抗VB6开发人员使用这种蹩脚的语言.我无辜地问"VB有什么问题".
他说的第一件事是"因为它是一种WINDOWS语言!" 所以我指出Borland Delphi是一种Windows唯一的语言*,但我从来没有听过有人因为这个原因而恶意攻击它.(*有一个名为Kylix的产品,它交叉编译到Linux,但它的价格昂贵,有缺陷,并已停产.自从我使用Delphi以来已经有一段时间了,但最后我听说,它还没有为Linux做好准备.)
所以,他说"它有一个可怕的语法!" 这真的是人们讨厌这种语言的原因吗?我会说Perl,Lisp和C++的眼睛比VB差.
接下来,他说"它太容易学了!" 好吧,我认为这一点有利于语言.如果我有一个拖放设计师,我永远不会手工编写GUI.你还有什么?
所以最后,抓住稻草,他评论说"它......没有字符串操作功能".左,右,中,替换,InStr和修剪.QED菜鸟.
有趣的是,VB的功能发现了一些"黑客"语言,即变体数据类型和鸭子类型.编译代码表现相当不错,COM和本机Windows DLL之间的互操作很简单,GUI编辑器基本上为所有未来的RAD开发设置了标准.
[/轶事]
And*_*ton 25
阅读一些Joel Spolsky的文章,你会对自己感觉更好.从他关于CityDesk的文章,第三部分:
Visual Basic是一种非常有效的编写代码的方法,尤其是GUI代码.想要对话框上的粗体文字?在VB中单击一下.现在尝试在MFC中执行此操作.你必须创建一个子类控件,这是一个很大的混乱,你必须了解所有关于LOGFONTS和Windows窗口的子类化以及其他一些事情,一旦你拥有魔术类,你需要大约三行代码.
但是许多VB程序都是意大利面条,或者是因为它们是快速而肮脏的一次性完成,或者是因为它们是由黑客程序员编写的,没有面向对象编程甚至结构化编程的培训.
我想知道的是,如果你选择那些在指针中做梦的顶尖C++程序员,并让他们用VB编写代码会发生什么.我在Fog Creek发现的是它们成为超高效的编码机.代码看起来很不错,它面向对象且功能强大,但您不会浪费时间使用低于您需要的工具.我花了数年时间为C++/MFC编写代码,多年用Visual Basic编写代码,让我告诉你,VB的效率要高得多.
这种简单性吸引了许多新程序员.说有很多使用Visual Basic的坏程序员并不意味着Visual Basic是一种糟糕的语言; 它只是意味着坏程序员(AKA新程序员)可以访问Visual Basic.
Rya*_*ndy 21
我在一个所有代码都是C#的地方工作,而不是VB .NET.一位开发人员编写了大部分代码.你知道他是如何实现这一壮举的吗?容易:他复制并粘贴到各处.给定的方法可能在整个系统中具有几个到几百个副本.
优秀的开发人员可以使用任何语言.蹩脚的开发人员可以用任何语言蹩脚.
还要注意VB,VBA和VB.NET都是三种不同的语言,即使它们可能共享一些类似的语法.有VB.NET和C#(除了关键字/语法)之间没有真正的区别,所以我们不应该一概而论VB(6)之前和VBA与VB.NET.
许多程序员使用"VB"(只说所有3种语言)的真正问题更多的是使用它的人.大多数时候,"VB"程序员的正规教育较少,编写的代码较为粗糙.对于所有"VB"程序员来说,情况并非如此(这并不意味着没有用C++,Java,C#等编写的草率代码).这只是一个典型的期望,那些不使用VB的人在听到VB程序的时候会有这种期望.