我的电脑里躺着三十多个编程语言的安装包,可每次新建项目,手指还是会自动敲下`python3`。不是没试过别的——Node.js处理并发确实利索,Go部署起来就一个二进制文件,Rust的性能更是让人上瘾。但折腾一圈,最后总得回来。
上周帮朋友处理一个Excel报表,三千行数据,要按部门拆分,还要给每个sheet加上不同格式的表头。他用的VBA,写了两小时,跑起来还报错。我打开终端,pandas三行代码搞定,前后不到五分钟。他瞪着眼睛看我,像看魔术师。其实哪有什么魔法,就是Python的库太全了,全到你不需要知道底层怎么实现,只要会调用就行。
这种“开箱即用”的爽感,其他语言给不了。C++你得自己管理内存,Java得写一堆getter和setter,就连JavaScript也得操心异步回调。Python呢?你脑子里想什么,代码就怎么写,几乎零翻译成本。有时候我甚至觉得,写Python不是在编程,是在跟电脑说人话。
当然,Python慢。真慢。跑个大规模数据训练,能比C++慢上几十倍。网上天天有人骂它性能差,说生产环境不该用。这话对,但也不全对。我见过不少公司,核心算法用C++写,外围业务全用Python包一层。你说这叫妥协?我倒觉得这叫聪明——把时间花在刀刃上,而不是浪费在重复造轮子上。
还有那个GIL锁,被吐槽了十几年。可现实是,大部分Python程序根本碰不到多线程的瓶颈。你要是真需要并行计算,multiprocessing模块一开,照样能跑满CPU。工具是死的,人是活的。别总盯着人家的短板看,得看它解决了你什么问题。
最让我服气的是Python的社区。有一次我写爬虫遇到个诡异的编码问题,Stack Overflow上一搜,2012年就有人回答过了,还附了完整代码。这种“前人栽树”的踏实感,别的语言真给不了。Node.js的npm包质量参差不齐,Ruby的gem又日渐式微,只有Python的PyPI,像一座永不枯竭的图书馆,你要什么,里面就有什么。
有人问我,学了Python会不会被AI替代?我笑了。恰恰相反,现在那些AI工具,哪个不是用Python写的?TensorFlow是Python,PyTorch是Python,连ChatGPT的训练脚本都离不开Python。你要真担心失业,不如先把Python学好,至少能看懂AI在干什么。
所以你看,绕了一大圈,还是Python。它不完美,甚至有点啰嗦——缩进错了就报错,版本升级还经常不兼容。可它就像那个你嘴上嫌弃、但离不开的老朋友。关键时刻,它总能帮你把事儿办了,而且办得漂亮。这就够了,不是吗?