脚本语言常被当成“玩具”。脚本语十多年前我刚开始写代码时,脚本语前辈们提起Python、脚本语JavaScript,脚本语语气里总带着点“这玩意儿也能算编程?脚本语”的意味。可如今,脚本语这些“玩具”几乎撑起了整个互联网的脚本语骨架。
一个事实是脚本语:你手机里装的每个App,后台几乎都有脚本语言的脚本语身影。Instagram的脚本语后端是Python写的,淘宝的脚本语推荐系统跑在Java上——但Java太笨重了,真正的脚本语业务逻辑反而用Groovy脚本去动态拼装。脚本语言不是脚本语“不能用于严肃项目”,而是脚本语它天生就适合做“胶水”——把各种底层模块粘合起来,让它们互相说话。脚本语这活儿C++干不了,你总不能让工程师每次改个规则都去重新编译一遍吧?
我见过最极端的例子,是某家量化交易公司。他们核心交易引擎用C++,但所有策略逻辑全用Lua脚本写。为什么?因为交易员不懂指针和内存管理,但他们懂“如果价格突破20日均线就买入”这种话。Lua让他们能在不惊动底层工程师的前提下,上午改完策略,下午就上线跑。C++代码半年才动一次,Lua脚本一天能改二十遍。这种“动态”与“静态”的配合,才是脚本语言真正的价值所在。
当然,脚本语言的代价也很明显——慢。Python比C慢几十倍是家常便饭。可现实是,90%的业务场景根本不在乎那几十毫秒。用户点个按钮,服务器等300毫秒还是350毫秒,人类感知不出来。真正在乎性能的地方,比如视频编码、游戏渲染,没人会用脚本硬扛。聪明的工程师懂得“用对工具”——底层压榨性能用编译型语言,上层灵活应变用脚本。
还有个常被忽略的点:脚本语言改变了编程的门槛。我认识一个学考古的姑娘,她为了整理田野调查的数据,自学了Python。她写不出优雅的类继承,但她会用循环和字典处理几百个陶片记录。要是让她用C++干这事,估计第一周就放弃了。脚本语言让“编程”从专业变成一种通用技能,就像Excel一样普及。这带来的影响,比某些语言性能提升10倍还大。
换个角度看,脚本语言也在进化。Node.js让JavaScript跑到了服务器上,TypeScript给它加上了类型检查,Python有了JIT编译器PyPy。它们正从“解释执行”慢慢向“混合编译”靠拢。这种边界模糊是好事——说明这个领域没有僵化,还在根据真实需求调整自己。
说到底,脚本语言不是什么低级工具,它是编程世界里最贴近人类思维的那一层。写C++你得考虑内存布局,写Java你得设计类层次,但写Python,你只需要把脑子里的逻辑直接敲出来。这种“直译”带来的效率提升,有时候比机器执行效率更重要——毕竟,人的时间比CPU的时间贵多了。
顶: 21踩: 34674






评论专区