这个用脚指头都能想清楚
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的挖坟者,在不增加应用难度的情况下,提升已有资源的利用场景。让更多实用的技术服务于生产,立马实用而不是吹嘘炫耀!在给大家分享技术原理的同时,也会给大家提供源码、工具。
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的支持等。
版权声明:本文来自用户投稿,不代表【爱生活网】立场,本平台所发表的文章、图片属于原权利人所有,因客观原因,或会存在不当使用的情况,非恶意侵犯原权利人相关权益,敬请相关权利人谅解并与我们联系(邮箱:youzivr@vip.qq.com)我们将及时处理,共同维护良好的网络创作环境。