Python取代VBA?先问C#答应否

前言

近些年,大数据下的人工智能应用,以其黑科技姿态,不知亮瞎了多少百姓的眼睛。一时间“AI自动编码颠覆世界,不上车将永被放逐”的言论喧嚣尘上,大街小巷里的男女老少,都拍着小手,欢呼着“人生苦短,我写Python”。无良的教培机构贩卖保健品一般,将Python神化的无所不能。诚如网友所说,让每种工具回归其主场,才是最起码的尊重。这与笔者致力于,分享非IT适用的技术框架的初衷,如出一辙。所以,本篇决定来拾掇拾掇Python,权当是给语言论者泼盆冷水。

一、Python的本质是语言的语言

撕开Python语法的优雅,在其高贵华丽的外衣下,除了轮子还是轮子。一个满身轮子的货,当然可以到处滚了。吃得开,这是其他语言没法比的。在C面前有Cython,在R面前有rpy2,在JAVA面前有JPype等,几乎所有语言的资源,Python都有对应的库。Python被称为胶水,这不是盖的。

Python通过各种库来干活,但各种库的实现其实跟Python没多大关系,实际上Python自己干的活很少。如果没有其他语言的资源,Python还能如此优雅?还能号称区区几行就搞定别人成百上千行?所以,Python的本质是如何利用资源,这与VBS的本质其实并无多大差别,只是前者做的更优秀而已。

我们都知道,解释型语言的性能,都是建立在编译的基础上。Python要没有C为其兜住性能,Python就不会有今天的炙手可热。从这点也说明Python其实并不是一种纯粹的高性能开发工具,它更像是武器库的控制台。

所以,代码大佬们会衷心的告诉你,Python其实是为经验丰富的开发人员准备的。因为他们才知道,资源如何组装才更合理。Pyhon作为语言的语言,更多的意义在于资源的组织管理,而非资源的生产。

二、Python的主场落在大数据时代的专业分工

语言的语言,这种胶水特性并非Python独有,几乎所有可扩展的开发工具都含有这一特性。但为何大数据之后,Python的号角才开始嘹亮呢?在《互联的围城,已春暖花开,我却心向罗盘荒野》中,笔者向读者道出了原因,那就是大数据挣脱了01的呆笨逻辑,向世人揭示出了尿不湿与啤酒间,人的逻辑。

在大数据中搜寻这种逻辑,促就了数字世界的淘金热,更催生出了互联网AI这个全新的物种。但数据分析,毕竟大大超出了程序员职业的能力范畴。尽管不乏精通代码算法和数据分析算法的人才,但就这一职业而言,仍然需要将数据分析这一工作拆解出来,让给数据精英们。

Python的跨平台胶水属性,简直就是为大数据的分工,而量身定做的一般。无需学习算法的底层实现,而专注于算法本身,这与数据科学家们一拍即合。让专业的人干专业的事,是Python重回人们视野的根本。在大数据和人工智能的加持下,Python傲骄得今天让你爱理不理,明天叫你高攀不起。

三、Python对于初学者的意义不如VB,也注定不属于普通人

站在前人的肩膀上,不做轮子哥,这是每个开发工具的共同理想。Python并不排斥小白先生,在那么多类库资源的诱惑下,初学者抵挡不住也无可厚非。毕竟当前是一个短视遍野的社会,能速成何必修身。

尽管Python在库的支持下,很有捷径可走,而且这跟跟VB用鼠标画界面并没有什么不同,都是封装带来的。但对于初学者而言, Python却暗藏杀机。在它优雅的语法下,Python似乎可以按着摩擦任何其他语言,这让很多初学者误以为,Python太牛了,纷纷欲以为业,加入Python的大军之中。

但很多初学者看不到的是,Python耀眼光环的背后,往往都是些知名高等学府里那些精通数学的硕士、博士,在他们的周围,还有一圈配套的性能层。也就是说,Python从来都不干单打独斗的事。恰恰这种环境,是初学者难以具备的。所以,很多人学了4个月Python找了3年的工作。

Python的这种简单强大,叫分工,有上下文环境。如果分工里没有你的份,再简单强大,也是屠龙术。而VB的简单,叫包容,许你3%,也容你97%。VB的简单,在于启蒙,而非捷径。VB的更多背景内容,请参阅BtOfficer的相关文章。

Python作为语言的语言,其抽象程度更强,离计算机的真相也就更远。从学习的角度,初学者无法借助Python系统的学习计算机知识,等弄懂了Python花哨的语法,才发现自己小小的目标要落地,都必须去C/C++,JAVA等更专业,难度更高的领域。所以,Python注定不属于普通人。

四、Python通过什么与Office交互?

Python会代替VBA成为Office下一代语言,这种言论在Python圈广为传唱。他们不知道,VB为了一统Office宏语言的江湖,花费了数年之久才有今天的VBA。VB全工具链(VB、VBA、VBS)以Office为战略重心,服务了近26年,你说Python会取代VBA,Python是给了微软多少好处啊!

VBA生而为Office,连当年叱诧风云的VB都为之转身。如果Office没有VBA这条护城河,你以为Office能霸占办公软件头把交椅那么久? 弄懂VBA就是Office的开发语言,这一点很重要。

再来看看其他开发工具是如何与Office交互的?我们说Office是基于COM的,非Office进程的东西,想要进入Office的地界,除非你Hook,否则都得通过它提供的接口,最终的产品都叫COM加载项。Python正是通过COM接口与Office交互。当然OpenXML下的XML读写,只是纯粹的文件读写,算不上Office的开发。

五、Python凭什么取代VBA?

既然是COM加载项,那与Office交互的就是二进制,这与寄生在Office进程内的VBA完全是两码事。很多人觉得,Python处理数据的速度远比VBA快,难道其他COM加载项就不快么?VBA的势力范围除了Excel外,还有Access呢,咋不找Access比快呢?

Python离开那几个蹩脚的EXCEL操作库,还能饭否?

与其说Python会替代VBA,倒不如说Python会替代其他COM加载项的编制工具。VSTO也号称下一代VBA,要说Python会取代VBA,那先问下C#答应否?

六、醒醒吧,精力有限的职业人

Python的高大上,不是我等才疏学浅之辈能驾驭的。VBA都精简成那样了,都学不会,还学什么计算机!诚如每种语言都应回归其主场,我等又何尝不该回到自己的主场,端着业余的笑脸到人家专业的地界上去凑什么热闹。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python可以在某些情况下取代VBA,但并不是所有情况。VBA是一种专门为Microsoft Office应用程序开发的编程语言,而Python是一种通用编程语言,可以用于各种目的。如果你需要使用Microsoft Office的特定功能,例如自动化Excel电子表格或Word文档,那么VBA可能更适合你。但是,如果你需要进行更复杂的数据分析、机器学习或Web开发等任务,那么Python可能更适合。总之,取决于你的具体需求和项目要求。 ### 回答2: Python可以部分取代VBA,但不完全取代Python作为一种通用的编程语言,可以实现VBA所能做的许多功能,并且拥有更多的功能和灵活性。以下是几点Python相对于VBA的优势: 1. 语法简洁且易学习:相比VBA的冗长代码,Python具有简洁的语法,易于阅读和理解,新手上手较快。 2. 强大的第三方库支持:Python拥有众多的第三方库和模块,可以通过这些库来实现各种功能,例如图形处理、网络爬虫、数据分析、机器学习等。 3. 跨平台支持:Python可以在多个操作系统上运行,包括Windows、MacOS和Linux等,而VBA只能在Windows上运行。 4. 更好的数据处理功能:Python拥有丰富的数据处理和分析库,如NumPy、Pandas和Matplotlib,能够更高效地进行数据处理和可视化。 5. 更好的性能和扩展性:Python具有更好的性能和扩展性,可以处理大量的数据和复杂的任务,而VBA在处理大数据量时相对较慢。 然而,对于Excel应用和宏编程方面,VBA仍然有其优势。如果需要对Excel进行复杂的操作、处理大量的数据和进行高级的宏编程,VBA仍然是更合适的选择。因此,根据具体需求,选择合适的工具是更为明智的做法。 ### 回答3: Python可以取代VBA,因为Python具有更广泛的应用领域和更强大的功能。 首先,Python是一种通用的编程语言,可以用于开发各种类型的应用程序,包括Web应用、桌面应用、移动应用等。而VBA主要用于编写宏和自定义函数,局限于Office软件的应用开发。因此,Python可以更好地满足不同领域的开发需求。 其次,Python拥有更丰富的生态系统和更多的第三方库。Python的开源社区非常活跃,并且有大量的开源库可供开发人员使用。这些库可以帮助开发人员更快地实现各种功能,如数据处理、机器学习、图表生成等。相比之下,VBA的库和资源相对较少。 此外,Python还具有更好的可扩展性和代码的可维护性。Python的语法简洁易读,并且支持面向对象编程,使得代码更易于维护和重用。而VBA的语法相对较旧,代码结构相对混乱,可扩展性相对较差。 最后,Python在数据处理和科学计算方面表现出色。Python有多个强大的库,如NumPy、Pandas和Matplotlib等,可以方便地对数据进行处理和分析。而VBA在这方面的功能相对较弱。 综上所述,虽然VBA在Office软件的宏编程方面有一定的优势,但Python在更广泛的应用场景中更加强大和灵活,因此可以完全或部分取代VBA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值