当今社会学习VB/VBA意义何在?
前言
过时,还要学么?
有在校同学反映,大学课程要求学习VB,但是很多人说水水就好,现在是c/c++、java一类语言的市场,vb只适合初学和一些初级应用。那学习VB的意义何在呢?
大学里学VB,肯定不是VB.Net,而是VB6。这说明你的专业不是IT专业,因为专业的连VB.NET都不会教,而是直接干C/C++。这么安排,是有道理的,并非喷子口中的脑C或R智。
一、VB是为非科班IT量身定做的编程工具,生而为计算机编程普及教育
1、VB的祖师爷DOPE(1962年),就是为教学而生,紧接着的BASIC(1964年)更是老师和学生合作开发的典范。为了让学哲学、文学等非理工科学生也能使用计算机,BASIC做了大量的简化包装,丢弃了专业开发工具的严肃和规范。尽管到Windows时代,VB加入了大量专业元素,但VB一路继承下来的简单易用,使得VB成为非IT人士编程的首选工具。因此,将VB纳入非IT专业的编程课,再合理不过了。
2、虽然VB非常适合编程的入门教学,但VB也不简单哦,毕竟一度在Windows上也是专业开发工具。说VB是小学生玩具的人,正好说明没用过,或只用到了小学生水平而已。VB其实是非常包容的开发工具,即可生手耍无赖,也可大牛品玩,是可雅俗共赏滴。
3、有很多VB过时的言论,微软08年的不再更新,更是助长了这一言论。其实BASIC本来就是在微软手里才发挥出了价值的,所以VB定位到Windows平台,也无可厚非。Windows的天下就是VB的天下,不挺好么!非科班IT,又有多少人会跨平台呢?就连很多人买了苹果电脑,不也是用的Windows系统么。
4、更为本质的却是:VB4.0就已是VBA,VB开始全面转向Office。所以,VB6作为独立的开发工具,在微软的战略中本来就没有后文。去讨论VB6的专业未来,本来就没什么意义。VBA摆着为生产力服务,何必要跟那些Office都不用,或用不熟的专业开发人员,讨论专业开发呢!
5、VB继续以VBA存世,守护OFFICE的生态,这才是正经。当然也有很多声音说VBA会被替换,吼的最凶的就是Python。这个,不想多说,只想说一句:微软亲儿子C#,这么多年了也不敢这么说。搞过VSTO开发的人,应该深有体会,尽管在专业工具里,已经非常易用了,但其门槛仍然比VBA高出N个数量级。
以前很多Office的技术社区里,后面都加了VSTO板块,可以自己去看看人气。离普通人太远,就会丢了Office的防火墙。WPS也有专业的二次开发接口,你看有多少人普通人会用?除了专业理解上的门槛,应用起来也是要骂N的。微软自己的生态,尚且如此,Python这个刚进门的媳妇儿就要当家做主了?
6、VB简单易用背后,却是非常复杂东西。如果深入了解BASIC的解释器,这货不是C写的,而是直接用汇编干出来的,非常短小精悍。VB6的编译优化体系也是和VC同出一脉。就凭这些,VB只会将学习者逐步带到更深层次的C和汇编,而不是一蹴而就直接干C/C++。
7、作为VBA/VB、C/C++和汇编的多年使用者,我是推荐业余编程人士,选择VB/VBA作为编程入门工具的。不仅简单,更容易建立起热爱计算机技术的兴趣。只要不当伸手党,还会被循序渐进地,带到专业开发者的路上。等你走向专业开发的时候,往往会比一开始干C/C++的,更具知识的广度和深度。
二、科班IT为何直接干C/C++最合适?
1、最大的理由:计算机系统都是用这货写的,官方文档也是基于这货,你不学怎么玩得转!
2、次要核心理由:一段代码里,就可以从古代的汇编(含机器指令),到中世纪的面向计算(面向过程),再到现代化的面向架构(面向对象),一部妥妥的计算机发展历史。
3、C/C++不会教你用轮子,而是教你造轮子,因为万物皆C啊。轮子理论,不适合教学,适合搞生产。
三、学习VB/VBA的意义
1、VB是生产的锄头,只要Windows这块地没变天,以前种的粮也没坏,那就可以继续吃,锄头也可继续用。允许3%的人去开拖拉机,种更多的口粮。也允许97%的人在自留地里挥舞锄头种点瓜果副食。
2、3%的那部分从VB/VBA这个小学毕业后,升了初中,以后还会上高中念大学。也会有更多97%的这部分不断等着VB/VBA开学。在普通人通往程序之路上,VB/VBA就像摆渡人,接来一批又送走一批。VB/VBA存世的意义,或许就在于既普世又度人。心清脑秀者,许你3%得道升华。资历平平者,也许你97%的凡人吃喝。
3、VB/VBA的世界里有自由的周全,也有刻薄的束缚。她试图让所有人都能踏进编程的世界,并在这个晦涩的世界里护其周全。她也总拿自由不是没有代价来告诫使用者,知其然还要知其所以然,到远方去才是旅游的意义。
欢迎关注BtOfficer,咱从汇编、C的角度用VB/VBA!