2023年使用Python的世界级软件IT公司
目前有500多种编程语言,而且每天都有新的语言诞生。当然,其中许多是重叠的,而且只打算在理论或实验室情况下应用。尽管如此,决定在企业和常规编码中利用的计算机语言将是最好的。你应该学习哪些语言,以及为什么要花时间这样做?
由于本网站是专门讨论Python的,我们已经说明了为什么它是一种神奇的语言。此外,Python可以说是Pic微控制器最受欢迎的语言。知道了这一点,你就知道了使用Pi套件,只要有一点创造力,就可以创造出不可思议的东西。虽然玩转Python很简单易懂,但你可能会问这与现实世界的应用和商业情况有什么关系。
我们现在将讨论八个你可能熟悉的使用Python的知名企业。然后你可能会看到软件工程师在现实世界中的美妙前景。
这个网站在2018年月度流量方面在美国排名第四,在全球排名第七,有5.43亿访客。2017年有7395万次提交和829.4亿次页面浏览的记录。Python作为软件骨干,为其他一切服务。
通过Reddit Premium(以前的Reddit Gold),用户可以在不被广告干扰的情况下使用网站。如果其他用户认为他们的评论或帖子特别有趣或质量高,用户还可以收到硬币作为礼物。Reddit高级版可以使用免费用户无法使用的功能,包括评论高亮,私人子红包,以及定制的Snoo。2018年,Reddit Gold成为Reddit Premium。用户除了提供金币外,还可以提供银币和铂金币作为高质量内容的奖励。
在首次亮相六个月后,2005年12月,Reddit经历了从最初的Lisp编码到Python的重新编码。转换的主要理由是,Python提供了更多的代码库和更大的开发灵活性。Web.py,以前为网站提供动力的网络框架,现在是开源的。
Reddit最终实现了每个选定库的高度定制版本,从Python及其广泛的库中获得了很多灵感。
Reddit依靠以下库来执行其主要服务 。
- Baseplate.py: Python的默认核心服务框架。
- Rollingpin: 为了能够更快地部署到不同的服务器上
- pywebpush: Webpush数据加密的Python实现
- 用于管理: AWS多因素认证
- 监控器 :为了跟踪所有的操作
- Gevent : 基于轮回线来控制并发性
- Django-underwear: 支持将内裤与Django和许多其他库合并在一起
谷歌
Google几乎从Python诞生之初就支持它。”能用Python的地方用Python,必须用C语言的地方用C语言”,这是Google创始人最初做出的决定。在存储控制至关重要和寻求减少延迟的情况下,因此选择了C++。在其他领域,Python使简单的维护和相对快速的交付成为可能。
即使在为谷歌创建替代的Perl或Bash程序时,这些程序也经常被转换为Python。Python维护的简单性和部署的方便性是其原因。”Plex “的作者Steven Levy说,谷歌最初的网络抓取蜘蛛是用Java 2.0创建的,但由于它的难度很大,他们用Python重写了它。
可以在生产中部署的四种谷歌服务器端语言是C++、Java和Go,Python是其中之一。如果你不确定Python对谷歌的意义有多大,Python BDFL的Guido van Rossum从2006年到2013年在那里工作。
仅次于C++和Hack(Facebook专有的PHP方言),Python是该社交媒体平台上生产工程师使用最多的第三种语言。在Facebook,管理架构、二进制分布、硬件摄影和操作自动化的实用程序和服务平均有超过5000个提交。
由于Python库的使用非常简单,生产工程师可以集中精力让增强功能上线,因为他们可以开发或维护更少的代码。此外,它保证了Facebook的基础设施可以有效地扩展。
里程碑 。
- Facebook在2016年的一篇文章中表示,Python目前负责许多基础设施管理功能。
- 其中包括使用Dapper来计划和执行维护任务,使用TORconfig来处理网络交换机的配置和成像,使用FBOs来处理白盒交换机CLlIs。
- Facebook,包括一个Py Async IRCbot框架和一个Facebook Ads API,已经发布了为Py3创建的Openstack Python项目。
- AsyncIO正在协助Facebook的工程师将其处理程序和基础设施从2版过渡到3.4版。
亚马逊
亚马逊,最大的在线零售商之一,在多个平台上使用Python进行应用开发。亚马逊利用人工智能和机器学习分析客户的购买模式,以产生产品和折扣的建议。
Python和亚马逊都要处理大量复杂的数据。高可扩展性和与堆栈中其他系统的顺利整合是它提供的特点。亚马逊也在其AWS资源中使用自动化和机器学习。
Instagram的工程师在2016年吹嘘说,他们正在管理世界上最大的仅有Python的Django网络框架的部署。这在今天仍然适用。
据Instagram的系统工程师Min Ni说,他们在生产中使用Python的情况如下。
Python以简单和实用主义著称,这与我们的座右铭 “先做基本的事 “相一致,这也是我们最初决定采用它的原因。
从那时起,Instagram的工程团队在他们目前运营的巨大规模(8000亿月度活跃用户)下,投入了时间和资源来维持其Python部署的可行性。
我们确信,由于我们为开发Instagram网络服务的性能框架所做的努力,我们将继续增加使用Python的服务架构。
重要的事实
- Instagram在2017年将其大部分Python代码从Python 2.9转换为Python 3。观看Hui Ding和Lisa Guo在PyCon 2017上的主题演讲,了解更多关于他们在这次重大代码迁移中的成功。
- 此外,我们已经开始在Python编程语言上投入更多资金,我们正在研究从Python 2版本升级到3版本。
Spotify
这个音乐流媒体的行业领导者是Python的主要支持者,主要将其用于后端服务和数据分析。后端的众多服务使用0MQ进行通信,通常被称为Attempt to start,这是一个用Python和C++(以及其他语言)创建的免费软件网络模块和框架。
这些应用程序是用Python编写的,因为Spotify喜欢它的开发管道在使用这种语言时的快速工作。Gevent提供了快速的事件循环和高水平的同步API,它已经被用于Spotify最近的所有架构升级中。
里程碑
- Spotify使用大量的统计数据来向消费者提供推荐和建议。Spotify使用Luigi,一个与Hadoop同步的Python工具,来解析这些数据。
- 库之间的相互作用由这个开源模块处理,它还能快速整合错误日志,以实现故障排除和重新部署。
- Spotify利用近6000个Python进程在Hadoop集群的节点上并发运行。
Quora
这个巨大的众包问题和答案的平台对他们的提案所使用的语言进行了仔细的考虑。在Quora的创始人之一Charlie Cheever做出选择后,Python、C#、Java和Scala是唯一剩下的语言。在使用Python时,缺乏类型检查和Python的速度是他们最关心的问题。
Quora是如何采用Python 的?
Adam D’Angelo声称他们选择不使用C#,因为它是微软的专有语言,不想受制于任何即将到来的变化。任何开源代码也最多只有二等支持。他们担心未来的支持,以及Java是否会继续发展,因为这种语言在当时还处于起步阶段。因为他们不想为微软专有语言即将发生的任何变化负责。任何开源代码也最多只有二等支持。
相反,Quora的创建者效仿谷歌的做法,为性能关键领域创建了C++,并尽可能使用Python,因为它的编写和可读性很简单。通过创建基本相同的单元测试,他们能够解决Python缺乏类型检查的问题。
当时有几个可靠的框架,如Django和Pylons,是选择Python的另一个重要因素。让Python和JS一起工作是一个重要的优势,因为他们知道Quora将包括服务器/客户的互动,只是有时会涉及整个页面的加载。这就是Quora开始使用Python编程语言的原因。
Netflix
Netflix采用Python的方式与Spotify的相当相似,依靠该语言为其服务器端的数据分析提供动力。但它比这更进一步。Netflix让其软件工程师自由选择他们使用的编程语言,他们已经观察到Python应用程序的数量急剧增加。
标准库、令人难以置信的活跃的开发者社区和广泛的第三方库被Netflix的工程师们认为能够解决几乎任何问题。此外,由于Python的开发非常简单,它已经成为Netflix许多其他服务的一个关键组成部分。
重要的事实
- 中央警报网关是Python的主要应用之一。这个RESTful网络应用程序接收来自任何地方的通知,并将它们传送给需要它们的个人或团体。
- 此外,该软件可以使以前处理过的多余的通知保持沉默,在某些情况下,进行自动修复,如重新启动一个进程或终止任何开始不稳定的行为。考虑到警告的巨大数量,这个应用程序对Netflix来说是一个重大收获。通过有效地处理它们,就不会向开发人员和工程师发出多余的呼叫。
- Netflix还在监控历史安全变化的猴子程序中利用了Python。这些猴子被用来监测和通知任何组的EC2安全相关政策的任何修改以及这些环境的任何改变。
- 它们还跟踪连接到Netflix的各个域的几个SSL证书。自2012年以来,Netflix追踪到意外过期的情况从每季度一次下降到没有。
Dropbox
Python被用于这个基于云的存储系统的桌面客户端中。2012年,Dropbox说服了Python的开发者、终身仁慈的独裁者Guido van Rossum离开谷歌,加入该公司。这应该打消了人们对Dropbox在Python方面的参与程度的最后疑虑。
罗苏姆只同意作为工程师为Dropbox工作,而不是作为领导或经理。在他服务的第一年,他能够为创建Dropbox社区与其他用户共享数据存储的能力作出贡献。
虽然Dropbox的很大一部分库和内部零件都是专有的,不能免费分发,但该公司提供了一个高效的Python API,让你可以窥探其工程师的内心世界。你可以从采访Dropbox工程师的声明中推断出更多,他们的服务器端代码有相当大的一部分是用Python写的。
同样有趣的是,注意到客户端程序在Mac和Windows电脑上都采用了各种库,以实现统一的体验,尽管它们是用Python编写的。这是因为Python在Windows上没有预装,你的Python数量会根据你的Mac而有所不同。
Uber
Uber是全球多个国家最受欢迎的客运选择。其技术栈包括Python、Reactjs、Ruby和Go等编程语言。Uber采用了Python和Tornado来提高并发性和吞吐量。对于其所有的数据分析任务,它也在Python、R和Shiny的协助下开发框架。
然而,Python被用来驱动Uber的大部分用户服务,包括核心功能和计算,如计算ETA、乘车价格、维持汽车供需和准确确定地理位置。
工业光魔
为了制作《星球大战》的特效,乔治-卢卡斯在1975年成立了工业光影(ILM)。从那时起,他们就与特效结下了不解之缘,并因其在电影和广告中的工作而赢得了无数荣誉。Python被用来控制越来越多的ILM脚本,这导致了更直接、统一的工具集和更有效的生产过程。不妨看看OpenEXR,一种被ILM利用的Hdtv文件格式,以了解真实世界的情况。PyIlmBase包含在该软件包中。
里程碑 。
- ILM最初专注于实际效果,但很快就明白,数字创造的效果是特效的方向。在《星际迷航2:可汗之怒》中,创世计划的爆炸镜头是他们在1979年成立CGI部门后的第一个效果。
- ILM的CGI工作室最初在Unix shell上运行,尽管这只能处理少量的工作。工作室开始寻找一种能够管理他们所预期的极端升级的技术,因为他们预见到了CGI的未来。
- ILM选择了Python 1.5而不是Perl和Tk,因为它更容易被纳入他们现有的基础设施,而且学习起来更快。Python与C++和C的直接兼容性使ILM很容易将Python纳入他们的专业灯光软件。因此,他们能够在新的应用程序中使用Python,用它来包装软件组件,并扩展他们的基本图形程序。
- 该工作室在其工作的许多其他领域都使用了Python。开发人员使用Python来监控和审计管道的性能,同时为每部电影创建的每个图像保留一个数据库。
- 尽管有各种批评意见,ILM仍然认为Python是符合他们目的的最佳选择。由于Python的开源性质和后端更新的灵活性,它将在很长一段时间内满足ILM的需求。
总结
Python是用于各种任务的最佳编程语言之一,因为它被IT行业的一些大公司积极利用。它的灵活性使它更具有诱惑力。公司选择利用Python是因为其较小的学习曲线、广泛的库选择、并行处理、框架,以及该语言对开发者的友好和快速发展。
如果Python在现代数字时代的流行和意义让你感兴趣,我们强烈建议你报名参加一个或多个课程,探索Python宇宙,因为它提供了丰富的创造潜力。