游乐游手机版
首页/业界动态/文章详情

程序员已为一个看不见的东西争论了半个世纪

时间:2026-06-06 13:32
程序员关于缩进用制表符还是空格的争论持续半个多世纪,Linux之父与Python之父分别代表两派。盲人程序员对制表符的需求使其在道德上占优,最终格式化工具的出现逐渐平息了这场被称为“缩进战争”的争论。

我们先从一桩往事说起。

前阵子,微软资深老兵Raymond Chen在他的博客上,揭开了一段尘封已久的趣闻:当年微软和IBM携手开发OS/2操作系统时,双方竟为一个按键僵持不下。

在对话框里,用户按哪个键才能在输入框之间跳转?微软坚持用Tab,IBM却不认同。这场争议层层上报,整整跨越了七级管理架构,最终呈递到副总裁案头,并要求微软派出同级别的高管来做最终裁决。

微软的回应堪称经典冷幽默:“比尔·盖茨的母亲对Tab键不感兴趣。”言下之意,比尔·盖茨之上再无高管,难道还要请他的母亲来参与讨论一个小小的按键?

区区一个按键,竟能让两家科技巨头闹到高管直接对峙。

但说实话,跟另一场旷日持久的战争比起来,这实在不算什么。那场战争的主题是:编写代码时,缩进究竟该用Tab键,还是空格键?

这个问题听上去就像“你吃饭用左手还是右手”一样琐碎。然而,就是这样一个看似微不足道的事情,却让全球最聪明的一群人争论了整整半个世纪,其历史甚至比“冯·诺依曼派”与“图灵派”的论战还要久远。

一切还得从打字机说起。Tab键最初就出现在打字机上,它的本职任务就是替代空格完成缩进工作,避免打字员一下下敲击空格键导致手腕劳损。

进入计算机时代后,存储容量按KB计算。同样是缩进4层,空格需要16个字符,而Tab只需4个,节省下来的都是实实在在的成本。因此,早期终端直接将Tab宽度固定为8个字符。从1969年的TOPS-10到1974年的VT52,Tab始终是8个字符。在ASCII码中,Tab和Space也有着截然不同的定义——一个是控制字符,另一个是可打印字符。老祖宗定下的规矩,无可争议。

直到1978年,VT100终端首次允许用户自定义Tab宽度。这下,麻烦来了。

大家很快发现:你的电脑上Tab显示4个字符宽,我的是8个,他的是2个。在你那里排版完美的代码,换到我的屏幕上立刻变得杂乱无章。这该找谁说理?

为了应对这种混乱,空格派正式登场。他们的论点简单而直接:“使用空格,在任何地方都一样。”

本来,你爱用Tab就用Tab,喜欢“到哪儿都一样”就用空格,互不干扰。但真正将这场技术分歧升级为“宗教战争”的,是两位重要人物的正式登场。

第一位:Linux之父,林纳斯·托瓦兹

这位老兄不仅是Tab党,更是纯粹的原教旨主义者。Linux内核编码规范的第一章就如此明确写道:

“制表符宽度为8个字符,因此缩进也应该是8个字符。某些异端试图将缩进设为4个甚至2个字符深,这无异于试图将圆周率定义为3。”

本来空格派顶多算盖两栋楼,而林纳斯简直恨不得亲自开着飞机去撞毁它们。

但他这么执着也并非无理取闹。他的逻辑是:8字符缩进,一行80个字符很快就填满了,你最多只能嵌套3层。超过3层?说明你的代码本身写得就有问题。如果你的代码缩进到第四层出了毛病,那不是Tab的错,而是你的问题。

因此,有句名言至今仍在流传:“如果你的代码需要超过3层缩进,那你就已经搞砸了,去修正你的程序吧。”

第二位:Python之父,吉多·范罗苏姆

当然,空格派也拥有顶尖高手。这边派出的代表,就是吉多·范罗苏姆。

与Linux走的是完全相反的道路,Python将缩进变成了一种语法规则。你不缩进,代码就无法运行——解释器通过数每行前面的空白字符来判断代码结构。如果团队里有人用Tab、有人用空格,程序会直接报错。

实际上,吉多早期也曾尝试推行Tab,但社区的反馈实在一言难尽。类似于终端问题,不同编辑器对Tab转换为空格的默认行为完全不同,导致代码在跨平台时立刻崩溃。

为了保全自己的声誉不被社区“群起而攻之”,他最终做出决定:所有人统一使用4个空格,严禁混用!

紧接着,他制定的PEP 8成为了Python的“宪法”,空格也因此成为了Python社区的绝对信仰。

其实,两派的核心逻辑本质上相差无几——一方用强制的缩进来倒逼代码架构优化,另一方用绝对统一的空格来换取跨平台的安全性。思路不同,结果自然大相径庭。再加上两位技术大佬的站台,就好比封神榜里的元始天尊与通天教主都发了话,接下来自然不必多说。

从上世纪末到最近几年,Tab党和空格党就像阐教与截教,彼此攻讦不休。

举一个例子,在HBO神剧《硅谷》中,男主角发现女朋友使用空格时,当场崩溃冲出家门,并破口大骂:“我绝不可能和一个用空格代替制表符的人在一起。”

该剧的技术顾问是Google的开源总监,而这段情节的灵感恰恰来自程序员们的真实吐槽。

还有2017年,Stack Overflow的数据科学家也忍不住“拱火”:他们分析了几十万份数据后发现,使用空格的程序员平均薪资比使用Tab的高出8.6%。这一发现甚至登上了BBC。

空格派难道还搞起了薪资歧视?这简直是职场霸凌!

不过,后来真相得以查明:并非使用空格让你变有钱,而是有钱的公司普遍要求你使用空格。高薪群体大多供职于工程规范严格的大型企业。在几百人协作的庞大代码库里,空格所带来的“绝对一致性”确实最为省心。

说白了,缩进方式本质上只是一个变量,它并非编程能力的体现,而是反映出你所在工程环境的成熟度。

那么,最终谁赢了?

直接说结论:虽然胜负未分,但Tab党在道德层面占据了上风。

这并非因为Tab键“根正苗红”,而是源于一群大家可能从未考虑过的人——盲人程序员。

盲人程序员依靠盲文显示器来编写代码,而盲文面板通常只有40个字符格。4空格的缩进嵌套3层就占用了12格,相当于30%的物理空间被白白浪费。手指摸一圈下来,发现没摸到多少实际代码内容。而Tab一层仅占一格,3层嵌套只需3格。

这样一来,Tab在道德层面直接“封神”。因为空格派所追求的“一致性”,本质上假设每个人都拥有完美的视力和标准的显示器。但现实世界并非如此。

不过,空格派也并未因此投降——安装一个适配插件就能折叠空格缩进,技术性问题终归可以用技术手段解决。

同样地,随着2017年EditorConfig、Prettier这类代码格式化工具的普及,手工敲代码引发的这种争论也渐渐被技术改进所平息。这些工具默认不使用Tab,但同样支持,并会采用“Tab缩进、空格对齐”的SmartTabs思路。

所以,空格还是Tab,越来越变成了一种文化层面的身份认同。

弗洛伊德在1917年提出过一个概念,叫做“微小差异的自恋”。两个群体越是相似,就越会对彼此间那一点点不同之处感到抓狂。所有程序员面对的压力几乎一模一样:改不完的需求、查不尽的Bug、半夜三更的报警提示,连发际线的走势都高度重合。正因为太像了,才需要找到一个微小的差异来证明——“我跟你不一样”。

无论是简约头像还是动漫头像,格子衫还是女装,Tab还是空格,这些早已不再是单纯的工程决策。其本质,是极客世界里的部落图腾。

这种自古以来就存在的争论,仅靠人类自身,永远分不出胜负。

然而,随着AI时代的到来,分不分胜负其实也已不再重要。

2026年,Claude Code的创造者鲍里斯·切尔尼表示:“我们公司已经没有手写代码了。”他还预言,“软件工程师”这个头衔将在2026年开始消失。未来,每个人都是会写需求的产品经理,代码相关的工作全交给AI Agent。

当AI帮你写代码时,它会严格遵守项目配置文件。至于缩进用什么?随你便。反正不是人类亲手敲的。

这就好比你好不容易争论清楚毛笔该用羊毫还是狼毫,结果一抬头,发现大家都改用打印机了。

也许再过二十年,“你用Tab还是空格”这个问题,也会和“羊毫还是狼毫”一样,成为古法编程时代的一项非物质文化遗产话题。

老程序员们坐在一起喝酒时,聊起当年为了一个看不见的字符差点跟同事绝交的经历,就像老木匠们聊起刨子该推还是该拉曾让他们吵得不可开交一样。

手艺依然是好手艺。只是能用到它的人,越来越少了。

来源:https://36kr.com/p/3838126022379776
上一篇低空经济下反无人机成为安全基础设施与企业推荐 下一篇2025年ETL数据集成工具前十排行榜及避坑指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
长安汽车明年一季度发布首款车载人形机器人小安
业界动态 · 2026-06-29

长安汽车明年一季度发布首款车载人形机器人小安

长安汽车公布机器人战略,采用“1+N+X”布局,联合头部伙伴攻克大脑、能源、驱动技术。人形机器人“小安”身高169cm,体重69kg,移动速度0 8m s,具备40个自由度,续航超2小时。预计明年一季度发布首款车载组件机器人,已在广州车展展示。

中国信科刷新光通信世界纪录 每秒可下载1.4万部4K电影
业界动态 · 2026-06-29

中国信科刷新光通信世界纪录 每秒可下载1.4万部4K电影

3月25日,光通信领域迎来又一个里程碑:中国信科集团光通信技术和网络全国重点实验室联合鹏城实验室、烽火藤仓光纤科技有限公司,成功实现了2 5Pb s 24芯光纤超大容量实时光传输,再次刷新了世界纪录。 这一研究成果不仅入选国际顶级光通信会议OFC(2026)并荣获“高分论文”称号,还受国际权威SCI

美国调查18万辆特斯拉Model3车门应急释放装置易找性
业界动态 · 2026-06-29

美国调查18万辆特斯拉Model3车门应急释放装置易找性

美国国家公路交通安全管理局对约17 9万辆2024款特斯拉Model3启动缺陷调查,焦点在于车门应急释放装置是否不易找到且标识不清。该调查源于一份缺陷请愿,不意味着立即召回,但可能引发后续监管措施。

doc个人图书馆停服 创始人称无偿转让失败
业界动态 · 2026-06-29

doc个人图书馆停服 创始人称无偿转让失败

运营长达20年,累计服务8000万用户的360doc个人图书馆,最终还是迎来了谢幕时刻。2026年5月1日,这个承载着无数用户收藏记忆的知名平台将正式停止服务——关停原因并非用户流失,而是始终未能寻得一位能够安全接管的合适人选。 创始人蔡智在告别信中坦言,近两个月来,他一直在尝试将360doc无偿转

年Q1随身WiFi实测安全靠谱高性价比机型推荐
业界动态 · 2026-06-29

年Q1随身WiFi实测安全靠谱高性价比机型推荐

2025年10月,艾瑞咨询正式授予飞猫“AI WiFi品类开创者”认证,紧接着CIC也将其认定为“多网融合自由切换技术服务首创者”。这些权威认证背后,折射出一个清晰的市场趋势:移动办公、户外出行、宿舍上网等场景的需求正在快速增长,随身WiFi几乎已成为不少用户的刚需装备。但问题也随之而来——网络卡顿