{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

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

xushaojieaaaxushaojieaaa 回答10 收藏1
收藏问题

10条回答

Mr_houzi

Mr_houzi

回答于2022-06-22 19:48

这个用脚指头都能想清楚

1、投入门槛不同。

是不是有人学了很久的C(过了二级或三级的业余户,甚至是专业户),仅知道C可以拿来算算术?传说中C牛逼得不要不要的,但硬是没体会到一星半点。要想成为高手,还得通过项目磨练个好几年,还得自己买好多好多的书籍。反观人家VBA,尼玛一文科生,人家打开盗版的Office,轻点录制按钮,就可以解决效率问题了。前后,需要1分钟么?你说气人不?他不仅没交学费,还啥也不懂,但是人家能操盘,还真能干业务了。

2、心里包袱不同。

你编程是不是从配置环境开始,一切中规中矩,一步一个脚印,踏踏实实地一路走来。你追求寻根问底式的学习,怕自己在业内成为笑柄而不得不准备大量的基础知识。你们以权威的大牛为偶像,对一知半解嗤之以鼻。在你们眼里,永远只有自己的代码最香,其他人的代码都是屎山。

VBA们就轻松多了,不仅不知道啥玩意叫环境,而且对技术细节也压根就不关心。人家关心的是,这个技术的玩意儿有没有源码?在哪能下载到?对大牛的唯一评判标准就是可以跑起来的VBA源码,别谈什么高级,用不了的都是垃圾!自己动手丰衣足食,是不假,但有现成货不用,只能叫傻!什么屎山,能跑起来的,都是火车!

3、使用门槛不同

当你处理COM时,你可能会连续不断地发出FK的咒骂声,因为其复杂而致使你到处宣言COM的反人类,必将已死。但VBA的老少朋友们,点开Office就已手握COM的神兵利器,关键是他们完全不知道,这货有这么大的杀伤力。你花了九牛二虎之力,尚且没有驾驭的丝滑感,而VBA们早就骑在上面有说有笑了。

当你为理解了OOP而倍感自豪的时候,人家早就在New各种系统对象了。当你要口诛笔伐说VBA不是面向对象的时候,人家反正也不懂,只自顾自地拖着窗体和各种控件,左手连着互联网,右手端着各色数据库,眼前一片业务繁忙。你撒口水的功夫,人家业绩又上去了一大截。

当你还在小心翼翼琢磨指针的神奇,觉着得指针者得天下,将其作为区分高矮的标准。对于这个高危利器,时常注意会不会自己脑子抽风导致捅篓子。当你为了那么几十上百毫秒的性能提升,而瞧不起VBA时,VBA们就老老实实地用着变量,用着默认的ByRef,慢就慢点吧,反正也不赶时间。不让用指针,自然也不用担心指针的害处。源码一眼看穿意图,还真不必爬那些遮遮掩掩的屎山。

当你说弱语言时,懒惰的VBA早就有人在做了。当你说强语言时,对自己有要求的VBA们早就要求了。你研究了半天才能使用的东西,VBA看上去就像没有门槛一样,你说气人不?你说让人讨厌不?这种毫无灵魂的技术,你说要打倒不?

4、知识的变现率不同。

你在技术上是不是满腹经纶,除了在网上各种鄙视自己没学过的工具(如VBA)外,有没有发现除了公司给你的活计外,你竟然无所事事。而VBA们就不一样了,一天都在想,手上这几样,到底还能拼出什么来?VBA们从来都很务实,也知道争论只会惹得一身骚,所以才有沉默的大多数。你看铺天盖地的VBA源码,即便是2021了,有关VBA应用的话题在自媒体时代依然是热门。

当你觉得技术可以赚钱发家,疯狂地在八戒等赏金论坛上接着单,为讨价还价而故弄玄虚时,VBA们早就识别到了精准需求,主动地帮助公司解决了效率问题。当你争着几百上千块一单时,VBA们早就成了公司的业务骨干,受到了老板的器重。

5、总有挖坟党站出来

正当一众专业选手,将VBA们怼得无言以对,甚至“VBA已死,替代者已出”成为一种流行的言论时,挖坟党总能站出来,指出VBA更专业的使用方法,让广大沉默者利用事实发声。于是,VBA在VSTO、Python的连续镇压下,甚至Office都从桌面版过渡到了云端版,VBA从6时代跨入7时代,依旧是官方默认支持的功能扩展工具。说好的死呢?说好的替代呢?


死之久矣!自然要排到最后啦!谁会把一个打心里不满的对象排在靠前的位置?谁会把一个嘲笑自己努力的对象排在靠前的位置?巴不得抹掉而后快,才是这个问题的用意!可是VBA恕难如愿啊,哪怕32位到64位,哪怕Win98到Win11,只要X86还没变味,VBA就还会让非专业人士干一些专业的活儿,VBA就依然还是很多独立小软件没有市场的绞肉机,VBA依然还会是技术上最小投入得到最高回报的途径之一...

最后赠送技术界的鄙视者们:本是同根生,相煎何太急。但凡知识全面一点的,就会明白软件技术在这个世界里绝不是最核心的那一环,别再无知地自嗨了。说VB/VBA不行的,其实都不如VB/VBA行!说VB/VBA不专业的,都不如VB/VBA专业!

欢迎支持和关注BtOfficer,一个利用汇编和C来为VB/VBA的挖坟者,在不增加应用难度的情况下,提升已有资源的利用场景。让更多实用的技术服务于生产,立马实用而不是吹嘘炫耀!在给大家分享技术原理的同时,也会给大家提供源码、工具。

评论0 赞同0
  •  加载中...
dingding199389

dingding199389

回答于2022-06-22 19:48

没有吧。VBA挺好的

评论0 赞同0
  •  加载中...
james

james

回答于2022-06-22 19:48

1、由于没有入门门槛,所以多数VBA用户是非IT专业的所谓的编程小白,水平参差不齐,可以想象代码质量在专业人士看来是上不了台面的,不过这是使用者自身水平的问题,不应该由VBA来背锅。

2、VBA不能编译成可执行文件多带带运行,只能在Office环境中解释执行,所以它的使用边界受Office的限制,当然作为Office办公套件的伴生语言,它首先是服务于Office办公自动化的,这也无可厚非,只不过微软通过Windows API、ActiveX、COM+、.NET等一系列技术打通了整个Windows的应用层,让微软自己的产品之间可以无缝衔接,这大大扩展了VBA的应用空间,却也一度造成寄生于Office文档的宏病毒????的流行,最后出于安全考虑,打开带宏的Office文档时,宏是默认关闭的,用户必须手动确认打开。从上所述可以看出VBA和Windows及Office的深度捆绑,VBA在跨平台方面表现远远没有在Windows上面这么亮眼,在当今跨平台开源的大势下,肯定要被人鄙视了

3、至于VBA沿用了VB那套语法,并非严格意义上的面相对象编程(OOP),自然会被正统C++用户所嫌弃。其实随着Office的版本更新,相比早期版本,新的VBA已有了很多进步,比如对Class的支持等。

评论0 赞同0
  •  加载中...
cfanr

cfanr

回答于2022-06-22 19:48

在办公领域内,最受欢迎。出了这个领域,被攻击贬低。

评论0 赞同0
  •  加载中...
yy13818512006

yy13818512006

回答于2022-06-22 19:48

用过的都说好,应用软件实现不了的功能,用它来补充,或者直接做成二次开发的软件,用起来简直不要太方便,比自己直接开发应用省很多力气。比如excel里没有你要用的功能,自己用vba写一个,省时省力,非常方便。

评论0 赞同0
  •  加载中...
wall2flower

wall2flower

回答于2022-06-22 19:48

因为它让办公白领干起了程序员的活,让程序员兼职了白领的活。你说它讨厌不讨厌。

评论0 赞同0
  •  加载中...
张春雷

张春雷

回答于2022-06-22 19:49

各种莫名其妙的错误,严苛的限制。

唯一的优点是集成在excel里。

评论0 赞同0
  •  加载中...
BothEyes1993

BothEyes1993

回答于2022-06-22 19:49

用vba,最需要的能力是文字表达能力,就是用一句话说明白自己的需求,然后打开百度搜代码

评论0 赞同0
  •  加载中...
ranwu

ranwu

回答于2022-06-22 19:49

还有这排行榜?

不过真有这样的排行榜,VBA也绝对不是第一名。

VBA依托微软office存在的,使用场景和范围限定很死,这个领域的抱怨绝对没有其他语言来的多。[偷笑][偷笑][偷笑]

事实上VBA仅仅是处理下word,excel等里面的数据。能力刚刚好

评论0 赞同0
  •  加载中...
array_huang

array_huang

回答于2022-06-22 19:49

bilibili最受欢迎的语言,它讨厌吗[吐舌][吐舌][吐舌]

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<