9个使用Python的世界级软件公司!你还不学Python吗?

我们现在就告诉你九个使用Python的顶级公司。通过这种方式,您可以看到Python在商业和软件开发中的实际应用。

Industrial Light and Magic

Industrial Light and Magic(ILM)是乔治卢卡斯于1975年创建的特效公司,为星球大战创造了FX(电影特效)。从那时起,它们已经成为FX的代名词,在电影和广告中屡获殊荣。

在公司早期,ILM专注于通过道具实现效果,但它们很快意识到电脑特效才是是FX的未来。其CGI部门成立于1979年,CGI首个特效是“星际迷航II:汗的愤怒”中的创世纪爆炸特效。

进群:548377875   即可获取数十套PDF哦!

Google

Google几乎从一开始就一直是Python的支持者。最开始,Google的创始人决定“除了一些必须使用C ++的关键部分之外,可以随意使用Python.”。这意味着C ++被用于需要内存控制和低延迟的地方。Python用与易于维护的部分和快速交付的工程。

Google经常使用Python重写Perl和Bash脚本。因为Python部署和维护简单。但事实上,根据“In the Plex”作者Steven Levy的说法,Google搜索早期有一个网络爬虫由Java 1.0编写,由于写到后期发现Java太难写了,因此又用Python重写了。

Python现在是官方的Google服务器端语言之一,除此之外还有C ++,Java和Go三种语言用于生产环境中。如果现在你还不明白Python对谷歌的重要性,那么我将告诉你Python之父Guido van Rossum(BDFL )从2005年到2012年都在Google工作。

除此之外,Peter Norvig也说过:

“Python从一开始就一直是Google的重要组成部分,并且随着系统的不断发展而发展,今天,很多Google工程师都使用Python,我们也正在寻找更多会使用Python的人。”

Instagram

在2016年,Instagram工程团队对外宣称他们正在进行全球最大的Django Web框架部署,该框架完全由Python编写。Instagram的一名软件工程师Min Ni阐述了他们使用Python的情况:

“我们最初选择使用Python是因为它简洁高效,这与我们‘首先做简单的事情’的理念完全一致。”

从那时起,Instagram的工程团队投入了大量时间和资源来保证Python在大规模业务(每月约8亿活跃用户)上运行:

“通过我们对Instagram Web服务框架的构建,我们相信我们将继续使用Python来扩展我们的服务基础架构。我们也开始将更多精力投入到Python语言本身,并开始探索从Python2迁移到Python3。”

在2017年,Instagram将大部分Python代码从Python 2.7升级到Python 3。您可以观看Lisa Guo和Hui Ding发表的关于PyCon 2017主题演讲(https://www.youtube.com/watch?v=66XoCk79kjM),并听取他们有关这种大规模代码迁移的经验。

Spotify

这家音乐流媒体巨头是Python的巨大支持者,主要使用该语言进行数据分析和后端服务。在后端,有大量的服务都通过0MQ(ZeroMQ)进行通信,这是一种用Python和C ++(以及其他语言)编写的开源网络库和框架。

使用Python编写的原因是因为Spotify喜欢在Python编程时的简单和高效。 Spotify架构的更新都使用gevent(http://www.gevent.org/),它使用高级同步API提供快速事件循环。

为了根据用户喜好推荐歌曲,Spotify需进行大量的数据分析。为了处理这些数据,Spotify使用Luigi(https://github.com/spotify/luigi),一个可以与Hadoop同步的Python模块。这个开源模块对任务进行管理,并快速整合错误日志,以便进行故障排除和重新部署。

总之,Spotify有超过6000个Python进程,这些进程在Hadoop集群上协同工作。

Quora

当这家大型的问答平台在选择使用什么语言来实现他们的想法时,Charlie Cheever(Quora的创始人之一)将选择范围缩小到Python,C#,Java和Scala。而他们使用Python最大的问题是缺少数据类型检查功能而且程序运行相对缓慢。

根据Adam D‘Angelo所说,他们决定不使用C#,因为这是一种微软平台的专用语言,他们不希望受到任何未来变化的影响。此外,任何开源代码还拥有更好的社区支持。

Java比Python编写起来更加痛苦,它不像Python那样与非Java程序联动性好。当时Java还处于起步阶段,因此他们担心未来Java的发展及市场占有率。

因此,Quora的创始人决定跟随Google的步伐,选择使用Python,因为它易于编写和阅读,对于性能要求较高的关键部分可以使用C++。而且他们可以通过编写能够完成同样任务的单元测试来解决Python缺乏类型检查的问题。

使用Python的另一个关键因素是当时存在几个很好的框架,包括Django和Pylons。此外,因为他们知道Quora将涉及服务器/客户端交互,而这些交互不一定需要加载全部页面,所以让Python和JS结合起来效果将非常好。

Netflix

Netflix与Spotify使用Python的方式非常相似的,依靠Python为服务器端的数据分析提供支持。然而,它并不仅仅停留在这些应用。 Netflix允许他们的软件工程师选择自己想用的语言编写程序,随后发现Python应用程序的数量大幅增加。

经过调查发现,Netflix工程师喜欢引用标准库以及大量来自开发社区的可用于解决几乎任何问题的第三方库。另外,因为使用Python开发非常容易,所以它已经成为许多Netflix其他服务的关键。

Python使用的主要场所之一是中央警报网关。这个RESTful网络应用程序可以在任何地方处理警报,然后将它们发送给需要查看警报的人或小组。此外,该应用程序还能够过滤已经处理的重复警报,甚至自动解决一些常见警报,例如重启进程或终止看起来不稳定的进程。考虑到警报量巨大,该应用程序对Netflix提供了巨大的帮助。智能处理意味着开发人员和工程师不会再被大量的警报电话淹没。

Netflix使用Python的另一个领域是用于跟踪安全更改和历史记录的monkey应用。这些monkey用于跟踪和警告任何组中与EC2安全相关的策略的任何更改,并跟踪这些环境中的任何更改。它们还用于跟踪连接到Netflix多个域的几十个SSL证书。自2012年以来,通过追踪技术的应用,Netflix的意外到期情况从四分之一减小到了几乎没有。

Dropbox

这家云存储服务商在其桌面客户端中使用Python。如果您对Dropbox在Python方面的使用表示怀疑,请参见2012年,他们设法说服Python之父Guido van Rossum离开Google并进入Dropbox。

Rossum加入Dropbox的条件是他将成为一名工程师,而不是一名主管或经理。在他来到Dropbox的第一年,他帮助实现了Dropbox中“与Dropbox社区内的其他用户共享数据存储”的功能。

尽管Dropbox的许多库和内部工具都是专用而非开源的,但Dropbox已经发布了一个非常高效的使用python编写的API(https://www.dropbox.com/developers/documentation/python),可以让您了解工程师的想法。你也可以参见Dropbox工程师对大量服务端代码使用Python的采访。(https://talkpython.fm/episodes/transcript/30/python-community-and-python-at-dropbox)

同样值得注意的是,虽然客户端程序使用Python编码,但它们使用Mac和Windows上的不同的库来提供一致的用户体验。这是因为Python不会预装在Windows上,而且由于您的Mac版本不同,您的Python版本也会有所不同。

Reddit

2017年,该网站每月访问量达到5.42亿人,成为美国访第四,全球第七高访问量的网站。 2015年,提交的内容为7,315万次,浏览量为825.4亿次。其网站主要由Python编写。

Reddit最初是用Lisp编写的,但在2005年12月发布后六个月,该网站重新使用Python编写。改变编写语言的主要原因是Python拥有更多的代码库,并且在开发上更具灵活性。最初运行网站的web框架web.py现在是一个开源项目。

在2009年的采访中,Steve Huffman和Alexis Ohanian在Pycon期间被问及为什么Reddit仍在使用Python作为其框架。霍夫曼给出了相同的答案:

“任何功能都能找到相应的Python库。我们一直在学习很多这些技术和很多这样的架构。所以,当我不了解连接池时,我可以找到一个库来使用,直到我自己更好地理解并编写我们自己的库。不了解web框架,所以我们会先使用别人的,一直到我们自己创建完成。 Python就是有这样好的库支持。“

Reddit坚持使用Python的第二个原因是所有使用Python公司的共同思路。Steve Huffman说代码的可读性也是选择Python的重要因素:

“我认为我们现在还没有专门的Python程序员。我只是对他们说,‘你写的所有东西都需要用Python编写,‘我很容易读懂Python代码。这很棒,因为我可以从房间中看到他们的屏幕,看他们的代码是好还是坏。因为优秀的Python代码结构非常易读。

这让我的生活变得更加轻松。它非常有表现力,可读很好,又易于编写。这让我生活更加顺利”

除此以外还有其他公司吗?

在这篇文章中,我们考察了九家使用Python进行生产的世界级和成功的软件公司。 但事实还远不止这些。 截至2018年,Python的采用率达到了一个新的高峰,并还在继续攀升。

注:原文中由于Instagram被Facebook收购,所以计数为8家公司,正文中实际为9家。

原文地址:https://www.cnblogs.com/PY08523/p/9657159.html

时间: 2024-10-09 23:49:06

9个使用Python的世界级软件公司!你还不学Python吗?的相关文章

2019你还不学Python?

废话不多说,先上张图,展示一下 Python 不可置信的增长情况. 根据Stack Overflow 的调查显示,在全球范围内,Python 开发人员可以拿到 56,000 美元的年薪.而 Indeed.com 估计美国的 Python 开发人员平均年收入可达 114,811 美元,大约为人民币77万人民币.看到这个年薪,我的表情是这样的... 接下来,就看看Python到底能做什么,为啥这么牛. 1.爬虫神器 python拥有非常多优秀的第三方包,通过如Requests,mechanize,等

软件公司的两种管理方式(转)

原文:http://coolshell.cn/articles/4951.html 摘要:一 个Film Crew的Director(注:有总监和导演的意思)了解要把一个伟大的软件组合起来的每一个碎片,他需要组织一个无与伦比的团队,并且要帮助这个团队 能凝聚在一起,团结在一起工作.他的角色是鼓舞大家,守护着构想(Vision),提供方向和集中大家的精力. 这篇文章是我的一个外国的同事Gareth推荐给我的,我和他一起工作过一段时间.他之所以觉得非常不错,是因为这篇文章让他身有体会,他觉得我也一定

Python多版本管理软件pyenv的安装应用及pip的使用讲解

近期Comyn老师的Python视频推出之后,大家一直在讨论者pyenv这个软件的应用问题,简单写一篇基本用法,给大家做下简单介绍: 目录: 一.pyenv介绍 二.centos6.4上安装配置pyenv 三.使用pyenv安装python 四.pyenv的基本应用 五.pip安装与配置 六.使用pip安装python相关软件 一.pyenv介绍 项目地址:https://github.com/yyuu/pyenv 关于pyenv的介绍: 一般在操作系统中我们会安装多个Python版本,在*ni

设置PyCharm软件的配色方案和Python解释器

设置PyCharm软件的配色方案 设置Python解释器(用于Python2 or 3 的切换)

管理软件公司与互联网公司的区别

笔者是一个老程序员,自2002年进入.NET开发领域,一直未曾放弃.期间经历过管理软件公司,互联网公司,有国内企业和外资企业,深感其中的差异,撰写文分析两者的联系和区别,供读者朋友参考. 技术 1 管理软件公司用的技术一般是老的,稳定的,成熟的技术.比如.NET Remoting,Windows Forms,Web Forms,而互联网公司一般会追求新的技术,比如Redis,微服务,Hadoop等.管理软件公司会使用SQL Server Analysis Services作OLAP分析工具,而新

三星电子能从硬件公司转型成软件公司吗?

船小好调头是公认的真理之一,尤其是对企业来说,体型越小,越容易调整业务的转换和中心和未来发展方向.但对于那些巨头企 业来说,错综复杂的关系链.人际关系.蛛网交缠的业务等,导致转型时就会显得步履维艰.别说是尽快转型后重回霸主轨道,甚至会因为脚步的蹒跚,导致被对手超越.不转型=与时代脱节,导致最后产生疲态:转型=难度翻N倍,一弄不好,就会对自身造成重创. 当下,三星电子就面对着这样一个两难的境地.传统的硬件业务虽然还表现地较为强势,但从长远来看,已经有极大风险,尤其是移动业务.而如果向软件型公司转型

同一时候和几家软件公司约參观客户时间的事

近期须要安排去两个软件公司的案例客户那里考察软件应用情况.这个事情要是两个安排地方分开来走.还是好办一些,结果为了可以一次都看,要求把两家的案例公司安排在一个城市,时间还要挨着. 而且除了我们部门还需求人力部门一块,这样算下来就涉及到6波人马,足够复杂. 先跟两家软件公司沟通了去的地点,都达成一致是一个城市.最大的城市了,就是票不好买.这又给时间安排带来了难度,仅仅能远期安排,这又须要案例公司的时间确认.好easy把两家公司的时间沟通好了,这边又说时间太晚.须要提前. 接着又确认人力的时间,人力

软件公司按照软件流程划分部门导致的问题思考

?? 软件公司按照软件流程划分部门导致的问题思考 在软件公司一般的组织结构是事业部模式,就是公司软件领域下设多个事业部(按照业务领域划分),我们都知道软件产品/项目的全过程分为项目前期.需求分析.设计开发.测试.实施运维,如果我们按照各环节进行组织机构的划分和调整如何呢,比如:我们划分为咨询管理部门(负责项目前期.需求分析.项目管理).设计开发部(负责软件设计开发.测试工作).实施运维部(负责项目的实施和运维售后工作)这样的软件组织结构运转怎么样呢? 在这种组织结构中,咨询管理部负责所有项目的管

软件公司项目经理岗位职责

原文:http://www.cnblogs.com/batman425/archive/2013/08/21/3272631.html 一.软件公司项目经理岗位职责 主要职责: 1. 计划: a)项目范围.项目质量.项目时间.项目成本的确认. b)项目过程/活动的标准化.规范化. c)根据项目范围.质量.时间与成本的综合因素的考虑,进行项目的总体规划与阶段计划. d)各项计划得到上级领导.客户方及项目组成员认可. 2. 组织: a)组织项目所需的各项资源. b)设置项目组中的各种角色,并分配好各