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都精简成那样了,都学不会,还学什么计算机!诚如每种语言都应回归其主场,我等又何尝不该回到自己的主场,端着业余的笑脸到人家专业的地界上去凑什么热闹。
Python取代VBA?先问C#答应否相关推荐
- 微软 python替代vba_微软将要用Python取代VBA,Python工程师又双叒叕要涨薪了!
微软在上个月开启了一个针对 Excel 功能的话题,用以收集用户的反馈.随后有用户提议让Python成为Excel的一种脚本语言,不仅可以作为VBA的替代品,而且也可以作为字段函数(= SUM(A1: ...
- Python取代VB/VBA,弄了个寂寞!
谣言终于实践,而不一定终于智者! 1.最近一直比较忙,系列文章迟迟未开工,索性抽个小空弄些VB/VBA人士关心的几个争论,算是辟个谣吧.这年头,好酒也怕巷子深,谣言也粉上智者了.但是,毛主席说,实践是 ...
- 为什么要用python处理excel-以Excel处理为目的学习python还是VBA?
------补充2020/07/15-21:19: (1)我认同python在作为胶水语言和库很多这两点上的优势,不过正如文中所述,99.99%用excel的人是真的用不到那些库,也没时间学习(需要有 ...
- 先学vba还是python-以Excel处理为目的学习python还是VBA?
------补充2020/07/15-21:19: (1)我认同python在作为胶水语言和库很多这两点上的优势,不过正如文中所述,99.99%用excel的人是真的用不到那些库,也没时间学习(需要有 ...
- vba和python哪个好学-Python或将取代VBA,成为Excel官方脚本语言???
原标题:Python或将取代VBA,成为Excel官方脚本语言??? 微软正考虑添加 Python 为官方的 Excel 脚本语言 据外媒报道,微软正考虑添加 Python 为官方的一种 Excel ...
- 重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言
如果微软的 Excel 中支持了人生苦短的 Python,你还会喜欢那个直接且易上手的 VBA 编程吗? 近日,据国外媒体 BLEEPINGCOMPUTER 报道,微软正考虑添加 Python 为官方 ...
- vba与python相比2019_重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 如果微软的 Excel 中支持了人生苦短的 Python,你还会喜欢那个直接且易上手的 VB ...
- python与vba的区别_选择VBA还是Python?
首发 公众号 :EXCEL办公实战 到底是VBA,还是Python? 类似的话题,还有操作EXCEL学者Python,还是VBA 现在学习VBA还值吗?是否过期等! 这些问题,有很多粉丝在问,在知乎. ...
- xlwings库 ==> Python调用VBA 的两种方法
之前被问到,Python 很强大,但是需要单独安装,而VBA是office自带的, 那么两者结合的话,如何用Python调用VBA呢? 代码如下(其中 A 是测试文件 宏的名字): VBA代码: Su ...
最新文章
- [亲测]在Mac下配置php开发环境:Apache+php+MySql
- MPB:微生物所东秀珠组-​​基于16S rRNA基因和基因组序列对细菌物种的初步鉴定...
- 八数码(康拓展开标记)及类似题
- mysql 设置时区,【MySQL】修改时区设置
- Java二十三设计模式之------工厂方法模式
- JavaEE实战班第九天
- Python 3.8实现支持断点续传的网络文件下载功能
- 【Vue】—创建组件
- 洛谷 P2285 BZOJ 1207 [HNOI2004]打鼹鼠
- Android基础入门教程——2.5.2 Notification(状态栏通知)详解
- 纯数学教程 Page 325 例LXVIII (4) 比值判别法和达朗贝尔判别法失效的一种情形...
- 如何应对微信群舆情?
- 5分钟从零开始搭建一个独立博客网站
- 车辆违章查询接口文档
- 设置WebView字体颜色,背景颜色
- 光学神经网络 Optical neural network
- 基于JAVA SSM框架的学校家长互动学习平台
- 【世界数学难题】21世纪世界七大数学难题简介
- JAVA野人_修道野人 用谓词表示法表示修道士和野人的问题 在河的左岸有三个修道士 联合开发网 - pudn.com...
- 货币的时间价值之复利计算公式
热门文章
- 坦克射击小游戏(后续将会升级功能)
- Wasserstein CNN: Learning Invariant Features for NIR-VIS Face Recognition
- 免费舆情监控工具有哪些,TOOM加强舆情监控提高应对能力
- 2015年全国计算机二级,2015年全国计算机二级考试试题题库
- 计算机硬件拆装步骤图文,06图解HPPaviliondv7笔记本电脑的拆机过程.doc
- 统计力学理想自旋模型考题解答
- 蓝鲸智云环境搭建(1)
- STM32入门笔记04_TIM定时器+案例:TIM定时器定时中断、定时器外部时钟
- 模块式柔性自动化生产线实训系统
- 计算机系求职信英语作文,计算机专业求职信英文