
在翻看具体数据之前,我们先来认识一下今天的主角。两门语言的“身份证”
🐍 Python:优雅的“全能选手”
1991 年由荷兰程序员 吉多·范罗苏姆 创造。
Python 的核心哲学是 “可读性至上”,用严格的缩进代替花括号,强迫你写出排版整洁的代码。它是一门解释型、动态类型的通用语言,从最初的脚本工具,一路成长为横跨 人工智能、数据科学、Web 开发、自动化运维 的巨无霸。
“人生苦短,我用 Python” 这句话,精准概括了它简洁、高效的开发体验。
🐪 Perl:老辣的“瑞士军刀”
1987 年由语言学家 拉里·沃尔 创造。
Perl 的基因里刻着 “实用第一” —— 它擅于用极简的表达式处理混乱的文本、日志和报表,正则表达式能力至今仍是标杆。它在 90 年代主宰了 Web 早期的 CGI 编程,并长期是 Linux 系统管理的默认脚本语言。
Perl 社区的座右铭 “不止一种方法做到它” ,给了程序员极致的表达自由,也留下了“代码像天书”的江湖传说。
这俩兄弟,一个用优雅凝聚共识,一个用灵活守护根基。那么在你的 Linux 系统里,到底谁的软件包更多、地盘更大呢?
数一数仓库里的包
最直观的对比,就是发行版官方仓库里挂了“语言标签”的包有多少。下面这组数据,来自于 2024-2025 年左右几个顶流发行版的情况。
Debian / Ubuntu 系
- 名字带
python3- 或与 Python 强相关的包,大约有 6000~7000 个,占到仓库总量的 10% 左右 - 而
lib*-perl 这类 Perl 包,大约 3000~3500 个,占比在 5% 上下 - 简单一除:Python 包的数量大约是 Perl 的 2 倍
Fedora / RHEL 系
- Python 相关包约 4000~5000 个,占比 6%~7%
- Perl 包约 1500~2000 个,占比 2%~3%
- 同样,Python 也是 Perl 的 2 倍还多
Arch Linux
- python-* 前缀的包有 1800 多个,能占到官方包的 14%
- perl-* 前缀的包约 800 个,占比 6%
- 又是 2 倍以上的差距
所以,如果只看软件包数量这个维度,结论很清晰:
在今天的主流发行版里,Perl 大约占仓库总包数的 3%~6%,Python 则占到 8%~15%。Python 生态的规模普遍是 Perl 的 2 到 3 倍。
而且这个比例已经稳定了很多年,没有反转的迹象。
换个维度看,Perl 其实“藏得很深”
不过,如果就此认为 Perl 已经是个“小透明”,那可就错了。要看一门语言在系统里的真正分量,光数包的数量不够,还得看它被用在了哪里。
Linux 内核构建:Perl 的绝对主场
一个有点反直觉的事实是:Linux 内核本身的编译和构建,至今仍然高度依赖 Perl。内核源码树里有大量的 Perl 脚本,负责处理各种配置、生成头文件、拼接代码等等。在这个场景下,Python 几乎可以忽略不计。
换句话说,每一个运行着的 Linux 系统,在它“出生”的时候,Perl 都扮演了接生婆一样的底层角色。
系统管理与应用生态:Python 攻城略地
到了系统上层,画面就反过来了。现在发行版里新增的管理工具、云组件、桌面应用、命令行神器,绝大部分都是用 Python 写的。你用 dnf/yum、各种系统托盘小工具、或者人工智能训练框架时,背后大概率是 Python 在跑。
Perl 在这些新领域已经很少被选中,它更多是在默默维护着一批“老大哥”级别的经典基础设施,比如某些软件包管理器本身、古老的系统监控脚本、邮件处理工具等等。
为什么会有这样的“三七开”?
这背后其实是两门语言在过去二十年里社区重心分化的结果。
- Python 凭借着“可读性优先”的哲学,成功破圈进入了科学计算、人工智能、Web 开发和教学领域,吸引了海量开发者和第三方库,发行版自然要打包更多 Python 应用来满足用户。
- Perl 曾经是系统管理自动化当之无愧的王者,但由于语法灵活性带来的维护成本,以及 CPAN 生态在当代应用层的相对收缩,它的新增项目变少了。Perl 在发行版里的任务,逐渐变成了“稳住已有的关键阵地”。
所以今天看到的数据,正是这种“Python 负责开疆拓土,Perl 负责镇守底仓”格局的体现。
它们不是替代关系
聊完这些数字,其实最想说的是:在 Linux 世界里,Perl 和 Python 并不是“谁取代谁”的零和博弈。
- 你需要快速写一个几行的文本处理、日志分析或者系统巡检脚本,Perl 的一行式命令依然犀利优雅。
- 你要开发一个长期的、多人协作的复杂项目,或者使用最新的云服务 SDK,Python 显然是更主流的选择。
而作为一个 Linux 用户,你的系统大概率从一开始就同时装着它们俩。基础镜像里,perl-base 和 python3-minimal 都在默默待命,谁也离不开谁。
下一次,当你看到系统里躺着的几千个 Perl 包和 Python 包时,可以会心一笑:一个在守护内核构建的根基,一个在撑起应用生态的繁茂。这个比例,也许就是开源世界多元共生最好的注脚。