我的问题很简单。
Ubuntu 是否针对用 Python 编写的文本编辑器类程序(Libre Office、Sublime Text 等)进行了优化?
或者说如果我在 Ubuntu 中使用 C++、Python 或 Java 没有什么区别?
我注意到,在创建类似办公的应用程序、目录、自定义按需应用程序等时,Python 受到 Ubuntu 开发人员的青睐。
此外,Ubuntu 网站也在这里推广 Python:
http://developer.ubuntu.com/get-started
而且他们没有在网站上推广 C++ 或 Java。所以,我很好奇为什么他们更推崇 Python 而不是 C++ 或 Java?
或者仅仅是因为 Python 的开发速度比 Java 或 C++ 更快?
我并不是问哪种编程语言最好(我已经知道 C++ 是最好的,并且最常用于图形和硬件优化),但我只是好奇为什么 Python 在 Ubunutu 社区如此受欢迎,是否仅仅是因为用这种语言编程很容易,或者是否有其他原因,例如在 Ubuntu 上的表现比其他语言更好。
Ubuntu 团队决定将 Python 推广为 Ubuntu 第一语言的历史是怎样的?
答案1
在 Ubuntu 的早期,有三个主要项目对其产生影响。
- Debian——Ubuntu 所基于的核心。
- GNOME——桌面所基于的核心,尽管最新的客户端(手机和平板电脑)基于 Qt,但 Ubuntu 中仍然保留了大量 GNOME 技术。
- Python——一种将这些东西结合在一起的首选语言。
早期 Ubuntu 社区的很大一部分成员来自其他社区,他们要么深度参与,要么参与其中。GNOME 和 Debian 对 Ubuntu 的影响是有据可查的,但隐身事实第三块是Python,这里引用一下Mark Shuttleworth的一段话:
Python 在 Canonical 中扮演着重要的角色。甚至可以说 Python 是该公司的首选语言。以下是 Canonical 使用 Python 编写的项目的粗略列表:
- Bazaar:分布式版本控制系统。如果您还没有尝试过 Bazaar,那么您应该尝试一下,它是 Subversion 等集中式版本控制的非常轻量级的替代方案 launchpad.net:一个免费的软件托管和开发网站,可轻松实现“跨项目协作”。
- Storm:Storm 是 Python 的对象关系映射器,由 Canonical 开发并在 launchpad 内部使用。
- Landscape:一种系统管理服务,允许集中管理多台 Ubuntu 机器。这是 Canonical 推出的商业产品。
关于 Python 对系统管理和系统编程的“感染”已经引起了极大的轰动。看看这最终会导致什么结果将会很有趣。Canonical 下一步会开始用 Python 编写运行级别吗?
为了了解 Python 在 Linux 世界中的重要性,我们还可以看看 Red Hat。Red Hat 有一个研发部门,名为 Red Hat 新兴技术组。该网站的链接如下:这里。
如果你看一下列出的项目,你会发现 Python 要么扮演着重要角色,要么就是开发该项目所使用的语言。对于 Canonical 和 Red Hat 来说,Linux 和 Python 的前景似乎一片光明。
我们从 Python 中汲取了许多文化理念,其中最著名的一个就是宾夕法尼亚大学并且认为一个明确的方法做某事:
我们宁愿用一种超级顺畅的方式来完成任务,而不是用 50 种粗糙的方式来完成任务。这有点像 Python 的核心设计价值:用一种清晰的方式完成任务。这就是我将公司命名为 Canonical 的原因:找到最干净、最清晰的方式来完成 XYZ。这个项目之所以被称为 Ubuntu,是因为它关乎大众的人类,以及支持大众的价值观,而不是关乎个人(在我们出现之前,个人就被 Linux 赋予了权力)。
在 Ubuntu 发布的时候,Python 受到了极大的关注并且得到了迅猛发展,并且考虑到 Mark 过去使用 Python 的经验(它也曾在 Thawte Consulting 使用过),如果你要构建一个新的 Linux 发行版,Python 是较容易的选择之一,这并不奇怪。
这并不是说其他语言不受欢迎,手机/平板电脑和桌面很快就会过渡到 QML 和 Qt(C++),而 Juju 则从 Python 重写为 golang。Python 只是倾向于成为 Ubuntu 中的默认语言。作者可以用 Python 制作工具,因为它包含在默认操作系统中,因此它为人们入门提供了一个很好的通用水印。Ubuntu 的早期版本甚至包括深入 Python默认情况下!
就 Canonical 本身而言,它通常会以某种形式赞助 PyCons,并且其员工也会参与世界各地的 Python 会议。
TLDR;如果您开始一个新项目,并且对某些技术充满热情,并且您周围都是拥有相同目标和信念的人,那么您就可以创造出令人惊叹的东西。