为什么VBA名列最讨厌编程语言第一名?

具体见StackOverflow2020调查,谢谢! Stack Overflow Developer Survey 2020 [图片]
关注者
118
被浏览
196,551

24 个回答

大概它是一个让人又爱又恨的家伙吧。

VBA的缺点很多。安全性差,不同操作系统兼容性差,依赖Office 等等。

可是让它如此被嫌弃的原因其实是它太容易上手,太好用了。稍微有些编程基础,几天的捣鼓之后,都能写出个像模像样的VBA程序出来。

问题来了,这就意味着不需要高深的编程知识和专业的程序员,每个人都可以写VBA代码。比如在我们公司,有些现在还在用的VBA程序是十几年前由非专业编程人员写的,现在还在用着,因为it gets things done - 不管黑猫白猫,抓得到老鼠的就是好猫。可是那些高薪聘请来的专业C++, C#, Java, Python 程序员,一到要维护VBA历史代码的时候,就满脸嫌弃,嘟哝着这都什么年代了,还VBA, 好低端啊, 而且这结构不好,那地方代码不行,各种抱怨。吐槽归吐槽,很多公司的原则是只要还能用,那就不必要花钱花时间去把VBA程序换成高级的技术,杀鸡不用牛刀嘛。 这样的现象真的很普遍,全球500强的公司,VBA的使用根深蒂固 (要不微软为什么不早停止支持VBA了)专业程序员的抱怨也漫天遍野,以致于VBA冲上了最讨厌的编程语言榜首。

客观看待,VBA使用得当,真的是办公自动化的利器。如果是涉及到多个Office 程序交互,用VBA绝对要比用其他语言快。当然,具体问题具体解决方法,有些事情,用VBA就不如用Python 这样的通用语言解决的快。

结论是,VBA本身没有问题,有问题的是使用和维护它的人。真正理解VBA长处的人,是会恰到好处地使用VBA. 可惜,因为它的门槛实在太低,VBA编程者水平参差不齐,给它带来了不应该有的差评。

RubberduckVBA的这段评论很精彩 。有条件可以看下原文。