Linus 谈论桌面版 Linux:程序兼容性是最糟糕的问题
此前,Linus Torvalds 在 DebConf 14 会议上谈论了桌面版 Linux 存在的一些问题。Linus 的言论一向以激进和直白而闻名,这次分享也直指各大发行版 Linux 桌面的程序兼容性问题,以及这个问题会给开发者和普通用户带来多糟糕的体验。
在会议上,Linus Torvalds 指出 Linux 分裂的一个重要原因:他一向要求各版本的 Linux 尽量不要更改核心,不能破坏用户空间,但基本没人遵守 —— 每个发行版都在随意地修改 glibc 库,改变底层 API。这些 API 的差别导致应用开发者无法为 “Linux” 平台创建一个通用的包,一个应用的二进制文件通常只能适用于某个发行版,比如 Debian 10 或 ubuntu 20 。除此之外,API 的变动让应用程序的向后兼容性也变得更差了。
这些都是非常严重的兼容性问题,适配分裂的 Linux 发行版常常让开发者感到疲惫。Linus 坦言自己参与了一个聊天软件的新项目,他为 Windows 和 OSX 都创建了二进制文件包,唯独没有创建 Linux 的二进制文件。不仅是在这个新项目,Linus 的原话是:“我一般不为 Linux 桌面制作二进制文件,不同的 Linux 发行版有不同的规则,为不同版本的 Linux 做适配是真他*的痛苦。”
除了程序兼容性对开发者的困扰,Linus 还指出 Linux 桌面对非开发者的普通用户太不友好。普通用户需要的是开箱即用,他们买了一台设备,然后使用设备的操作系统进行娱乐/工作,对他们而言,最重要的是清晰的界面、稳定的应用程序。假设有一个不懂技术的用户在使用 ubuntu 20,然后有一个软件在更新到 ubuntu 21 版本后出现兼容性问题,那么这个用户要为这个不兼容应用程序付出大量的时间和精力去搜索新的程序安装包,查询兼容性问题,重新调整/调试/编译系统上的应用 ,而在 Windows 中,这个用户只需要点一下软件升级或者重新下载安装—— 设想一下你是这个用户,你会选择 Linux 还是Windows ?
无奈的是, Linus 7 年前指出的程序兼容性问题时至今日仍无法解决,新的 Linux 版本还在进一步分裂 Linux 的软件生态。当然,好的方面是我们有 Flatpak 这种跨 Linux 版本统一包管理程序,但即便是这类包管理程序也存在 Flatpak、Snap 和 Appimage 等好几种。
有趣的是,当时 Linus 还在会上指出:Valve 将拯救 linux 桌面版。从目前的情况来看 Linus 的眼光确实挺准。从 2013 年推出 Linux 架构的游戏操作系统 SteamOS 之后,Valve 在不断地改进普通游戏用户在 Linux 平台的体验,包括推出基于 Wine 的 Proton 软件,让普通用户能轻松地在 Linux 平台上玩 Windows 的游戏;还联合 Nvidia 把 DLSS (深度学习超级采样)引入 Linux。但 Valve 面向的用户群只是游戏玩家,何时 Linux 能形成良好的应用程序和普通用户生态?恐怕前提是要所有 Linux 发行版像 Windows 那种使用统一的 API/ABI ,不过这似乎有些渺茫。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PHP 8.1 性能基准测试
PHP 8.1 已于上周正式发布,科技媒体Phoronix紧随其后发布了针对 PHP 8.1 的性能基准测试报告。 此次测试是在运行 Ubuntu Linux 的 AMD EPYC 72F3 服务器上进行的。所有受测试的版本都是在同一个系统上用相同的软件包和相同的构建选项重新构建的。用于参考对比的版本包括:PHP 8.1、PHP 8.0.13、PHP 7.4.26、PHP 7.3.33、PHP 7.0.33 和 PHP 5.6.40。PHP 7.1/7.2 则因为在这个堆栈中构建和运行时出现了分段故障而被排除在外。 测试环境如下: 测试结果如下: 上图显示了使用PHPbench 测试各版本 PHP 的性能结果。可以看到的是,自 PHP 5.6 推出以来,该语言在过去的几年里发展的都还不错。现在,在延续了 PHP 7.x 版本中的稳定改进的同时,从 PHP 8.0 到 8.1 又实现了约 4% 的额外改进。 就 PHP Micro 基准测试而言,Phoronix 方面认为虽然它们不是太有用;但从测试结果来看,它们再次彰显了 PHP 在过去几年中的进步。 而在使用 Phoronix Tes...
- 下一篇
CPython 主分支通过 WebAssembly 在浏览器中运行
Mypy 项目核心团队的成员 ethanhs 发表推特称,得益于 Python 团队核心开发者@ChristianHeimes最近提交的 commit,他找到了构建用于 Web 的 CPython 主分支的正确方法。 上面就是在浏览器运行 Python 的截图。 ethanhs 表示,虽然已经顺利在浏览器中运行了 CPython,不过还有很多工作要做。此外他构建的脚本也已开源:https://github.com/ethanhs/python-wasm。 Python 之父“龟叔”也在评论区对该项目表示了肯定,他还提到可以考虑将 CPython on WASM 与github.dev集成,实现在浏览器中进行 Python 开发。 当然也有人不太理解这个项目,他提问称,为什么要在浏览器中运行 Python? Django 联合创始人Simon Willison 则回复道,开始学习 Python 最难的部分是安装 Python,这个项目已经解决了此问题。而且 WASM 也不仅仅局限于浏览器 —— 它是一个非常强大的沙盒,这意味着你也可以使用它来运行不受信任的服务器端代码。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS关闭SELinux安全模块
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器