语言的优劣之争从来都是个永恒的话题,也是个容易引火上身的问题,经常讨论过激就会“擦枪走火”甚至可能会引发一场铁杆粉丝之间的“战争”。
如果您之前熟悉VBA,或了解一些VB语言,那建议你学习VB,如果你从未学习过编程开发,建议你直接从Python/ target=_blank class=infotextkey>Python入手。下面从各个方面来剖析2种开发语言的优劣。
1991年,微软公司推出了Visual Basic 1.0版。这在当时引起了很大的轰动。许多专家把VB的出现当做是软件开发史上的一个具有划时代意义的事件,VB吸引更多的赞誉和批评,为广大的用户和程序员使用(tmtony)。它非常适合用来快速开发拥有友好界面的程序,但随着时代的变化,开发语言的进步,VB也逐渐不太适应现在的需求,微软也没有继续支持它的意向,将逐渐走向衰落。但在很多场景,它依然发挥着它的余热,还有它的变种VBA还继续在office及其它第三方软件中继续发光发热。因为有用户和历史应用的加持,一时还难以退出舞台,将来是否会以其它方式重回舞台中央,亦未可知。
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于JAVA、C和JavaScript之上。
而最新的Python3.11运行速度将提高2倍,也标志着Python将更加成熟和优秀。
VB只能用于windows单平台,但Windows内置Vb的运行库,所以直接使用,无须配置支持环境。VB是编译型语言,对Windows的支持比较好,如果要制作Win Form窗体调用Windows系统的COM 对象,API,或与Office组件交互,则VB有它的优势。
python可以用于Windows linux mac 等多平台使用,python的适用性更广,对平台兼容更好。但在Windows下使用,需要安装运行及开发环境 ,生成的GUI界面的Exe程序比Vb要大(因为要带有相关的依赖库)
VB是微软出品的商业产品,一直是闭源的,而且需要花钱购买,而Python是开源的,而且它的大部分第三方库也是开源的。
开源是多数是免费的,具体取决于开源许可证,而闭源的使用成本会取决于软件的价格和售后支持的成本,如果出现Bug, 用户需要向销售软件的公司请求更改。 开源软件有一个完整的社区来审查代码,这使得错误很快被发现并改正。在闭源代码中,软件分销商负责修复发现的错误 ,有可能延时。
Python 解释器和模块是开源的。有些开源软件是开源,但不免费,而Python是开源又免费。
Python非常好学,易上手,Python以简单著称,语法清晰,即使零基础也可以学会。Python要学精也不难,多数功能都有现成的第三方库,直接使用它们,只要会调用,基本上你要做的功能都有再成的第三方库可直接使用。Python语法简单、功能强大,是最合适零基础人员学习的语言,而且python目前的应用范围也是比较广泛的,在人工智能、数据分析、游戏开发、自动化、爬虫等领域,可以从事的岗位也是比较多的,就业机会更多.
VB入门也不难,它的强项就是界面设计是可视化的,用鼠标拖拉即可完成,刚开始接触计算机的都可以学习VB,非常易学,很多学校的计算机二级也是基于VB或者C语言,但是VB要学精比较难, 要了解Windows API, Dll, ActiveX 控件等等,VB进行Windows API调用,有一定使用难度,而且仅限于桌面平台,现在市面上现在用VB系统的相对少了。
python应用场景非常多:从科学计算,运维,WEB,网站开发,办公自动化,甚至手机应用都有。几乎无所不能,无所不精。不少大公司的网站如:豆瓣、网易都是利用python语言编写的,后期的维护基本也都会python。可见Python应用范围广。而更因为太多人为Python在编写丰富的第三方库,众人拾柴火焰高,所以Python的资源库越来越多,越来越丰富,越来越专业。
Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含开发环境的事件驱动为机制的可视化程序设计语言。是一种可用于微软自家产品开发的语言。所以对Windows 界面开发有天生的优势,而且微软Windows系统已集成内置了Vb6的Runtime运行时。
VB的其它应用面相对要窄一些,一个是受制于应用平台,另一个是使用的人群少了,为之做贡献的代码者和相关资源也少了,VB主要用于Windows的应用,数据库管理,管理信息系统,办公自动化系统,Office软件的插件,自动控制系统的界面。监控界面等。而且现在使用VB的高手也越来越少了。但VBA开发的群体还是比较庞大和活跃。至少在5年内还不会消亡。而且VB或VBA开发一些Windows下的高效工具或辅助软件,还是非常方便的。特别是有Win Form窗体的应用。
营销QQ辅助工具
智能填单
Python运行速度较快,但速度比起VB VC,还是有一定的距离,但很多人把Python当成胶水语言,它可以把其它C++ C 其它开发语言生成的DLL直接拿来调用,这样在核心计算或数据级很大,借用了C++的高效处理速度,从而让自己也更强大起来。
而VB编译生成EXE,速度要比Python要快,而且在Windows桌面窗体这些应用场景下,Python需要第三方库或包,安装和执行的速度要慢过VB。
Python最大的问题在于性能,性能问题是Python一直被诟病的地方,但其实在设计时性能也是最容易被误解的部分。C++以最接近C语言的性能横行多年.随着物理硬件性能的显著提升以及软件复杂性的显著提升,人们开始对性能有了更理想的回归。
首先, 在一些企业应用场景,性能并不重要,另外一些IO密集型的业务大部分时间都在等待IO,为了节省不到1ms而让开发工作量增加几倍,似乎不是很划得来,而现在程序员的人力成本越来越贵 ,而机器性能过剩,硬件成本越来越低(小辣椒高效Office),所以程序员的开发效率比机器的执行效率更重要。
对于大型且复杂的系统或网站设计 ,使用更加清晰的语言比晦涩的语言给程序减少很多负担,并提高开发效率, 而且也可增强软件的分装性,所以 Python Java Ruby LUA 这些脚本语言开始崛起,一些JS前端框架也慢慢流行。
另最新的Python3.11运行速度将提高2倍,所以将来运行速度谁快谁慢,还是两说。
现在的计算机硬件发展日新月异,在早些年代,内存与硬件空间需要按字节来节省的时光已经一去不复返,现在软件开发,需要更多关注开发迭代的效率,产品上线的速度,以及售后反馈是否及时,所以对企业来讲,开发效率已经比软件运行速度更加重要。
Python语法简单,IDE选择性更多,功能更强大,而因为有Python各种资源库的加持 ,开发效率也非常快,很多时候几乎 就是组装一下。而且一些软件新的特性 Python大多都有,如多线程 等(tmtony 待扩展分析)
而VB 有官方内置的控件及一些第三方优秀的控件,也可通过DAO RDO ADO快捷地连接数据库,但大多数情况还是需要自己造轮子,所以开发效率相对Python要低一些,而且因为使用人群不够Python多,第三方可用的轮子不多,造成生态也不如Python丰富。
当然,你也可以建立自己的代码库,控件库,插件库,也可方便调用,但是一个要的力量终是有限的,没有群策群力,难以形成丰富的资源库。
我们自己的代码库(VBA开发神器):
VB及VBA早期的生态环境还是挺好的,使用群体大,Github或之前的Pl.NETSourceCode网站上开源贡献者也非常多,但随着它的一些局限性(如不支持Unicode 不支持64位 不支持多线程等),以及微软对它的支持越来越弱,导致生态环境逐渐势微(小辣椒高效Office)。为之贡献或传道的开发者越来越来,这也是利益使然。
而Python有大量第三方开发者不断贡献开源库,也有知名的大厂贡献很多开源精品,特别是人工智能等方面的库,吸引一大批程序员趋之若鹜。众人拾柴火焰高,所以,Python的生态是越来越好,这样良性循环,使它吸引更多的优秀开发者,及产出更多的开源精品。所以论生态和资源,Python对VB肯定要形成降维打击。
Python现在在编程语言排行榜一直霸占第1位,而VB即便算上VBA的份额,也是排在第6位。当然2种语言都排在前10,也说明2者都还是有非常大的使用人群,也都非常受欢迎。
VB是强类型语言,需要申明变量,当然也可以不先申明变量。
Python是弱类型语言。
VB不支持Unicode 不支持多线程,而Python支持 (Tmtony 等有空时再拓展来对比下)
VB6是商业编程工具,需要付费购买,且大部分第三方控件都是专业公司开发的,也需要付费(几千元甚至上万元一个许可),现在VB6早已停止发展,扩展能力变低。
Python作为一个免费开源产品,最大的特点就是其庞大的绵绵不绝且不断恐怖式增长的开源扩展库。Python是开源最活跃的语言之一,全世界编程爱好者都贡献其中,生态非常好,还有谷歌 微软这样的巨头赞助和贡献大量AI库和其它精品库。Python的扩展库遍布各个领域,各种应用场景,而针对Python开发的IDE也非常多,选择非常丰富(tmtony 有时间再拓展讲),各种开源的库和工具让Python的能力扩大了千万倍。
如果你是想学习一种新的计算机开发语言,VB 和Python都易学 容易入门,都可以选择
如果你是想将来在办公环境来提高自动化工作的能力,选择VB和Python都可以,但因为Office一般都集成了VBA开发语言,所以VB有一定的优势
如果你将来可能会去做运维 网站开发 网抓 人工智能 科学研究,那Python可能更加合适
如果您之前熟悉VBA,或了解一些VB语言,那建议你学习VB,也可了解一下Python.
如果你从未学习过编程开发,建议你直接从Python入手.
希望对您有所帮助,也可收藏 点赞 及关注我 头条号