前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python:请原谅我这放荡不羁的存在

Python:请原谅我这放荡不羁的存在

作者头像
IT大咖说
发布2018-04-04 11:17:10
6070
发布2018-04-04 11:17:10
举报
文章被收录于专栏:IT大咖说IT大咖说

摘要

Python已经有将近30年的历史,在过去30年中,Python在运维工程师和数据科学家群体中受到广泛欢迎,然而却极少有企业将Python作为生产环境的首选语言。在最近几年,这一情况有所改变。随着云计算、大数据以及人工智能技术的快速发展,Python及其开发生态环境正在受到越来越多的关注,技术雷达上和Python相关的技术也越来越多。为什么Python成为了“被选中的语言”?这一趋势将给企业IT带来怎样的变化?

视频内容

不务正业的Python

说起“不务正业”让我想起了一个大人物。他在十几岁的时候进入了印刷厂工作,当一名印刷工。之后成立了自己的印刷公司,出版报纸发表文章。当所有人都以为他会把余生都投入到印刷行业的时候,他却去成立了北美第一家由志愿者组成的消防队。再后来他又成立了北美的第一家医院。又有一天他心血来潮地在雷雨天里放风筝,由此发明了避雷针,为气象事业做出了伟大贡献。他还作为美国驻欧洲的外交官,在北美独立的过程中起到了巨大作用。他参与起草了《独立宣言》,现在他的头像被印在了百元美钞上面。

这个人的一生都是在“不务正业”之中,他就是美国最伟大人物第五位——本杰明·富兰克林。

技术路线各大编程语言排行榜前五位——

系统管理工具开发语言Python

系统管理工具

在Python刚刚出现的时候,所有人在开发各种各样的操作系统,而Python选择了另一条路。

Python是以给程序员们提供更好的管理系统的工具而发明出来的。现在Python内置于大部分主流操作系统之内,执行效率远高于shell,开发效率远高于C。

软件开发工具

从系统管理工具,到软件开发工具,Python一直在帮助工程师提升效率。

在软件开发工具领域,无论是构建工具还是版本控制,或者是代码评审,Python都属于是先驱。

Python不仅在早期介入到软件开发工具领域中,Spinnaker在持续交付领域也算是新秀,它主要是利用了云技术来搭建持续交付流水线。

在Python对于软件开发工具这几个领域里面,它的后来者看起来都比先驱要出色一些,所以Python自此就在跨界的这条路上越走越远。

WEB开发

首先Python尝试的是WEB开发。互联网时代来临,各个编程语言都在发力争抢WEB开发的地盘,Python却显得心不在焉。

Django这门技术可以基于Python去开发一些WEB的网站,还有一些更小巧的比如Flask,Tornado,Pyramid。基于Python开发的WEB网站也有不少,比如著名的Youtube,Reddit,Pinterest,Dropbox,Douban。

但是Python这门语言本身和其它语言相比,在WEB开发上Python的专注度总是不够,看起来“心不在焉”。

科学计算

曾经的科学计算领域,工具有Matlab, Maple, Mathematica,编程语言有Fortran, Pascal。

机器学习流行起来后里面关联的一个技术就是Scikit-learn,是结合了NumPy, SymPy, SciPy,还有可视化技术Matplotlib, Jupyter Notebook等等结合起来的工具,在机器学习领域有非常大的用户群。现在在生产环境当中,在工程领域也在逐渐开始流行起来。

云计算

在2008年之后,我们进入了云计算的时代。得益于在系统管理工具方方面面的积累,以及Python语⾔言强大的系统集成能力,让Python在云计算领域大放异彩。OpenStack里面最主要的开发语言就是Python。

不仅是私有云领域,在公有云领域,像aws-cli, gcloud等等这些公有云希望提供给开发者SDK,或者以命令行方式提供的时候,首选依然是Python。

大数据

尽管Python并不是大数据工具软件的主要开发语言,但却是每一个大数据工具不可忽视的力量。

Pandas是Python作为主要开发语言的一个数据分析工具。在Spark刚刚发布的时候,也带了PySpark这样一个接口。虽然底层实践不一定是以Python为主,但是上层接口一定会有Python的存在。

除了主要的数据分析工具以外,还有流程编排。Airflow可以很好地让我们的工程师可视化地去编辑,让我们更清楚地知道数据是怎样一步一步处理的。这个工具的可用性比较高,可视化效果也更为酷炫。

人工智能

在人工智能,尤其是深度学习领域,Python占据主导地位。尽管像OpenCV还有sox这样的工具,它本身底层不一定是以Python来实现的,但真正运用最广泛的地方却是以Python接口提供出来的这部分内容。包括我们在做图像识别的时候,即使用的是OpenCV,但实际上大家用的都是Python的OpenCV库。

早期的自然语言处理都是基于斯坦福的NLTK,而在最新一期的《技术雷达》中我们发现了SpaCy。它是一个希望能用现代化的自然语言处理技术,同时又能支持生产环境的这样一个工具。它的出生就是奔着希望能够让自然语言处理在生产环境领域中使用的。

人工智能火起来的一个原因是因为深度学习火了,深度学习被证明了特别有效。尤其是在数据量特别大的情况下我们去发现里面一些特征的时候要比人工地寻找特征更有效。在深度学习领域几乎没有其它语言可以和Python相提并论。比如著名的Caffe也是在《技术雷达》里出现了的。TensorFlow是谷歌开源的深度学习框架。Keras是基于Theano和TensorFlow可以做顶层计算图的编排、深度神经网络设计的一个语言,也是基于Python来做的。

为什么是Python

业务没有线上与线下之分,只有已经数字化和即将数字化之分。

模糊的行业界限

比如做视频的网站开始做汽车,做手机的公司开始做空气净化器,自行车可以连上互联网。现在这些都和软件、IT、互联网相结合了。

更快的交付速度

DevOps运动的兴起让开发、测试、运维紧密的合作。平台的兴起让工程师可以专注在业务上。新一轮人工智能浪潮让软件有可能自我学习,自我进化。

技术领域细分

每一个技术都可能是一个非常深的领域。对于一个开发人员我们可能需要了解DevOps、云计算,需要学人工智能、IOT、大数据、Paas、Web开发等等。可能一个业务需要使用以上所有的技术。对于开发人员来说学习每一项的成本都是非常高的,而对于决策层来说也无法接受让开发团队一切从零开始。

人生苦短,我用Python

幸好我们有Python。因为Python过去多年在不同的领域中“不务正业”的表现让Python成为了一个当我们尝试在各个领域都要做一点事情时的最佳选择。这就是Python在现在如此流行的一个很重要的原因。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档