首页 > 科技 > > 正文
2019-12-12 11:00:16

编程语言Python的 生存威胁 是应用程序分发 这是答案吗

导读 Mozilla Firefox编码器Gregory Szorc发布了一种流行的编程语言Python工具,以使开发人员可以更轻松地创建供Windows,Mac和Linux系统上的

Mozilla Firefox编码器Gregory Szorc发布了一种流行的编程语言Python工具,以使开发人员可以更轻松地创建供Windows,Mac和Linux系统上的非技术人员使用的Python程序。

Python可能很快就会成为世界上最流行的编程语言,但是它确实有一个缺点:没有简单的方法就可以将Python应用程序分发为简单的可执行文件或程序,而人们可以在不了解Python的情况下在自己的计算机上运行该程序。

过去十年来一直在改进Firefox和Mozilla工具的 Szorc 可能已经解决了这个发行问题,澳大利亚程序员Russell Keith-Magee 最近将其描述为 Python的潜在“ 黑天鹅 ” –一种围绕实现完全出乎意料的想法而建立的理论极端事件可能会对未来产生巨大影响,但事后看来似乎很明显。

除了17世纪在西澳大利亚发现的真正的黑天鹅外,据称IBM的CEO并没有在1940年代预言 PC的普及,因此它也成为一台。

Keith-Magee在讨论JavaScript在台式机和移动Web浏览器上的Web应用程序占主导地位,并且已经取代服务器上的Python的世界中,讨论Python的未来。此外,开发人员说,围绕第三方库的经验使计算机成为“有毒废物站点”。

无论如何,对于Python来说,最终的黑天鹅是一个假设,即Python代码分发无关紧要,用Szorc的话来说,这可能是对该语言长寿的“生存威胁”。

Szorc解决此问题的方法是PyOxidizer,它是一种用于生成嵌入Python的二进制文件的工具,从而避免了用户安装Python或使用该语言构建的程序所需的语言。

“ PyOxidizer能够生成单个文件可执行文件-带有Python及其所有静态依赖关系的副本的副本,并且所有资源(例如.pyc文件)都嵌入在可执行文件中。您可以将单个可执行文件复制到另一台计算机上并运行Python包含在其中的应用程序。它确实有效。” 他在GitHub页面上对该工具进行了解释。

Py显然代表Python,而名称的Oxidizer部分来自Rust,Mozilla Research设计的类似于C ++的语言。Oxidation是一个集成Rust的Firefox项目。Szorc发布了有关PyOxidizer及其与其他类似项目的区别的更多详细信息。

Szorc说PyOxidizer的主要功能是“可以生成一个包含可执行的Python解释器,其扩展名,标准库以及应用程序的模块和资源的单个文件可执行文件”。这意味着开发人员可以创建一个.exe文件来交付Python应用程序。

他还指出,“ PyOxidizer从内存加载所有内容,并且没有执行任何显式的I / O”,这将使可执行文件的启动和导入速度更快。

Szorc尚未解决Python的移动发行故事,但指出此发行版只是他预期将是一个长期运行的项目中的第一个。

“虽然我使用PyOxidizer的首要目标是解决大量的Python应用程序分发问题,但我想清楚地知道,第一个发行版还远远没有做到这一点。我辛苦了最初发行版中必须具备的功能, ”他解释道。

请参阅:如何建立成功的开发人员职业生涯(免费PDF)

他还承认PyOxidizer不能完全解决Python的发行难题,但是他相信使用Python的大型应用(例如Dropbox,Kodi,MusicBrainz Picard)可以使用它来生成独立的可执行文件。

“这可能会减少安装程序的大小,减少安装/更新时间(文件减少意味着更快的操作),并希望使应用程序维护人员的打包变得更简单。Python实用程序的维护人员可以生成独立的可执行文件,从而使其实用程序的启动和启动速度更快。更容易包装和分发,”他写道。

Szorc还对Rust给予了巨大的认可。

他写道:“尽管Rust当然不像Python那样具有表现力或紧凑性,但它与Python的距离比我期望的要远得多。”

“在学习了更多Rust并意识到明显的代码质量收益之后,我放弃了Python并采用了Rust作为构建时间逻辑。随着代码库的增长和经过各种重构,我很高兴自己做到了。编译器已经在Python中捕获了数十个可能的错误。”