网易首页 > 网易号 > 正文 申请入驻

从 make 到 Vite:你写的代码,是怎么变成能跑的程序的

0
分享至

①没有构建工具的日子:改一行,等一小时②make 1976:改一行,只重编一个文件③GCC 1987:一个编译器,统一江湖④CMake 2000:一份描述,处处构建⑤Maven 2004 / Gradle 2007:依赖不再靠手动下载⑥Webpack 2012 / Vite 2021:浏览器也要构建⑦构建的尽头:一键复现,加上 AI



make、GCC、CMake、Maven、Webpack、Vite——编译器与构建工具,五十年进化史

你在编辑器里写完代码,点一下运行,程序就跑起来了——中间发生了什么,大多数人从来没看过。把上万个源文件变成一个能跑的程序,靠的是编译器和构建工具这条隐形流水线。编译器和构建工具到底有啥区别?一句话:编译器是翻译官,把代码翻译成机器能懂的指令;构建工具是施工队长,决定翻哪些文件、按什么顺序、材料从哪来。从 1976 年的 make 到 2021 年的 Vite,这五十年,就是这条流水线从手艺活长成自动化的五十年。

上世纪七十年代,程序员改完代码要自己敲编译命令:几百个源文件一个一个编译,再手动把目标文件链接成程序,敲错一个、漏一个,直接报错。更难受的是:哪怕只改了一行,也得把几百个文件全部重编一遍,大项目一编就是几十分钟,喝杯咖啡回来可能还没编完。而且命令全凭人记,换台机器、换个同事,就复现不出原来的构建过程——出过一次问题的构建,谁都说不清当时到底做了什么。构建工具要干的事就一件:把编译从手艺活,变成任何人一条命令就能复现的流程。



把编译从手艺活,变成可复现的流程

1976 年,贝尔实验室的 Stuart Feldman 写出 make。思路是先写一张 Makefile:声明哪个文件依赖哪个文件,make 自己算出哪些变了、只重编变过的那部分。几百个文件的项目,改一行从全量重编几十分钟降到几秒——这是构建自动化的起点。make 至今没被淘汰:Linux 内核今天还在用它编译。但它的规则里写死了系统命令,Linux 上写的 Makefile 拿到 Windows 基本跑不动,这个毛病留给了下一代。



机器第一次自己决定该重编谁

编译器本身当年也是碎的:每家硬件厂商卖自己的编译器,收费、互不兼容,换台机器代码就得改。1987 年,Richard Stallman 发起 GCC(GNU 编译器套件):免费开源、一套工具链支持 C、C++、Fortran 等多种语言,几乎所有的 Unix 和后来的 Linux 都把它当默认编译器。GCC 把编译器从各家私有的黑盒,变成了全行业共享的标准件;今天各大 Linux 发行版和无数嵌入式设备背后,都是它和它的后辈 Clang(2012 年起 Apple 主推)。



编译器从各家私有黑盒,变成行业共享的标准件

make 的规则和平台绑死:同一段构建逻辑,Linux 用 make,Windows 用 Visual Studio 工程,macOS 用 Xcode 工程,维护者得同时养好几套。2000 年前后,Kitware 推出 CMake:你只写一份平台无关的 CMakeLists.txt,它帮你生成对应平台的 makefile 或工程文件。一句话区分:make 是施工图,CMake 是能按工地自动生成施工图的图纸。OpenCV、LLVM、MySQL 这些大型跨平台项目,后来都长在 CMake 上;而小项目直接写 make 依然够用——旧方案不是被淘汰,是被各归其位了。



make 是施工图,CMake 是生成施工图的图纸

项目一大就要用别人写好的库,当年全靠手动:去官网下载 jar 包、记版本号、拷进项目、处理库和库之间的冲突,少一个就报 ClassNotFound。2004 年 Apache 推出 Maven:在 pom.xml 里声明我要哪些库,中央仓库自动下载、版本冲突按规则仲裁;还立下约定优于配置的规矩,新同事拿到项目就知道代码该放哪。2007 年 Gradle 接棒,用更灵活的脚本语言替代 XML,加上增量构建,速度更快,Android 官方直接选了它。今天你点一次构建,几秒内自动下载并组装好成百上千个依赖——这件事在二十年前要靠人肉搬运。



依赖从手动下载,变成声明一行自动拉齐

网页早年不需要构建:几个 script 标签按顺序引入就行。但前端代码一多就乱了:全局变量互相打架、文件顺序排错就白屏、几百个文件浏览器挨个请求太慢。2012 年 Webpack 把一切当模块:JS、CSS、图片都能打包、按需加载、压缩优化,前端从此有了自己的构建流水线,代价是项目一大启动开发环境要等几分钟。2021 年 Vite 换了个思路:开发时直接用浏览器原生的 ES 模块能力、按需编译,冷启动秒开;打包时再用 Go 语言写的高速工具 esbuild。前端项目的启动从几分钟进到几秒,构建这件事彻底卷进了快车道。



前端项目的启动从几分钟,进到几秒

今天的构建又长出了新东西:CI/CD 让每次提交自动构建和测试;构建缓存和可复现构建,让同一份代码在任何机器上产出一模一样的结果;AI 也开始帮读构建报错、优化构建脚本。而 make、GCC 这些老家伙一个都没死——它们只是沉到了流水线最底下。普通人也用得上这条主线:装软件时报缺 dll、npm install 卡半天、gradle build 一屏红字,全是这一层的事。回看五十年,主线就一句:把你手敲的每一条命令,变成一条能自动复现的流水线。你遇到过哪次构建报错印象最深?评论区聊聊,下期拆《数据库软件》。

一句话总结:编译器与构建的进化,就一件事——把你手敲的每一条命令,变成一条能自动复现的流水线。

从改一行等一小时,到改完秒级出包,变的不是那些命令,而是构建终于不再依赖任何人的记性和手感。

软件进化史系列持续更新,下一篇聊聊《数据库软件》——从 Oracle 到 SQLite,你的数据都存在了哪里。

— 完 —

声明:个人原创,仅供参考

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
国际油价冲高回落

国际油价冲高回落

证券时报
2026-10-21 21:00:04
人至七旬终明白:越“贪色”的老人,越长寿、越快乐

人至七旬终明白:越“贪色”的老人,越长寿、越快乐

风起见你
2026-10-10 00:37:12
“怎么会有这样的审美?”杭州这座桥被吐槽,记者现场调查

“怎么会有这样的审美?”杭州这座桥被吐槽,记者现场调查

都市快报橙柿互动
2026-10-20 20:30:49
揭幕战展望:骑士客场挑战76人,难度非常大!发挥内线优势是关键,进攻火力压制方能赢球,哈登与詹姆斯正面对决

揭幕战展望:骑士客场挑战76人,难度非常大!发挥内线优势是关键,进攻火力压制方能赢球,哈登与詹姆斯正面对决

一登侃球
2026-10-21 23:00:48
比缅北凶险100倍!曾经的旅游胜地,如今黄赌毒俱全,乱象随处可见

比缅北凶险100倍!曾经的旅游胜地,如今黄赌毒俱全,乱象随处可见

琅琊财经
2026-07-31 22:02:18
外交部:期待更多国家加入国际调解院

外交部:期待更多国家加入国际调解院

新华社
2026-10-20 19:31:30
太突然!东莞国贸一大型游乐场关闭了!

太突然!东莞国贸一大型游乐场关闭了!

东莞好生活
2026-10-21 22:57:08
76人大当家!5年3.89亿,马克西超顶要来了?

76人大当家!5年3.89亿,马克西超顶要来了?

篮球实录
2026-10-22 03:24:57
纽约多区展开联邦执法行动!布鲁克林八大道华人店铺遭FBI突袭

纽约多区展开联邦执法行动!布鲁克林八大道华人店铺遭FBI突袭

北美省钱快报
2026-10-22 04:16:43
2-4一轮游!没想到英媒犀利点评,赵心童毫不客气说出输球关键!

2-4一轮游!没想到英媒犀利点评,赵心童毫不客气说出输球关键!

陈赩爱体育
2026-10-21 05:54:28
大快人心!莫斯科留学“精日男”的处罚出来了!

大快人心!莫斯科留学“精日男”的处罚出来了!

故事终将光明磊落
2026-10-18 08:48:46
时隔恰好一年整,B席再度在欧冠破门

时隔恰好一年整,B席再度在欧冠破门

懂球帝
2026-10-22 04:13:30
天津一区通报!驴肉是假的!假的!

天津一区通报!驴肉是假的!假的!

天津族
2026-10-21 19:47:04
环球时报快评:法国都乱成一锅粥了,还有人在叫嚣对华强硬

环球时报快评:法国都乱成一锅粥了,还有人在叫嚣对华强硬

环球网资讯
2026-10-20 19:38:07
鲁比奥直接掀桌子,既然说“星盾”限速,那索性就别用了

鲁比奥直接掀桌子,既然说“星盾”限速,那索性就别用了

麓谷隐士
2026-10-20 00:05:04
日本人早已看透:一旦中日真开战,中国根本不是只打眼前这一仗

日本人早已看透:一旦中日真开战,中国根本不是只打眼前这一仗

阿芒娱乐说
2026-10-21 07:59:10
媒体人:部分球迷和个别球员败光成都人缘,应该切割这样的舆论环境

媒体人:部分球迷和个别球员败光成都人缘,应该切割这样的舆论环境

懂球帝
2026-10-21 11:30:37
A股:今天尾盘跳水,原因有两点,明天,周四重要时刻来了!

A股:今天尾盘跳水,原因有两点,明天,周四重要时刻来了!

明心
2026-10-21 16:12:05
中超将迎“天王山之战” 蓉城拿分即夺冠

中超将迎“天王山之战” 蓉城拿分即夺冠

封面新闻
2026-10-21 18:25:03
5000万美元钻石内衣穿完去哪?凯莉·詹娜这件要私售

5000万美元钻石内衣穿完去哪?凯莉·詹娜这件要私售

浅遇时光
2026-10-22 00:12:58
2026-10-22 05:07:00
千纸鹤安安
千纸鹤安安
大自然的搬运工
177文章数 3关注度
往期回顾 全部

科技要闻

SpaceX收入暴涨!马斯克:这事"不再不可能"

头条要闻

21岁男子稻城亚丁高反死亡 其姐与报警人聊天记录披露

头条要闻

21岁男子稻城亚丁高反死亡 其姐与报警人聊天记录披露

体育要闻

“我,对得起天津足球!”

娱乐要闻

张柏芝自曝五点陪伴儿子 谢霆锋尴尬了

财经要闻

昔日彩电一哥缘何在今天被挤下牌桌?

汽车要闻

纯电/插混动力+乾崑智驾 北汽星钽5X预售价13.99万起

态度原创

房产
亲子
旅游
手机
公开课

房产要闻

J&P 集团亮相 2026 中国品牌出海博览会| 深耕跨境20载,品牌出海有J&P

亲子要闻

别再给孩子买大码衣服了,他真的不舒服,只是还不会说

旅游要闻

延庆将分阶段推进长城大景区建设

手机要闻

苹果公布Apple Music全新品牌标识,创作灵感来自声音振动、声波实拍

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版