这些年,编程语言的发展进程很快,在商业公司、开源社区两股力量的共同推动下,涌现出诸如Go、Swift这类后起之秀,其中最为耀眼的是Python。

知名开发者网站Stackoverflow撰文指出,从2012至2018年编程语言Python成为开发者使用增长最快的主流编程语言,其中2018年增长率达到了27%,一举超过包括Java、C#、PHP、C++在内的所有同类。另据高盛集团发布的一份《20187调查报告》针对全球数千名高校实习生的调查中,当问到你认为“哪个语言在未来会更重要”时,被调查的80、90后优秀年轻开发者中72%选了Python。

语言的使用者是一直被誉为业界上游“源头活水”的开发者,其重要程度从各大科技巨头公司每年例行召开的开发者大会上可见一斑。对于开发者群体而言最重要的事物有两个,一是平台,二就是编程语言。编程语言Python为什么能够获得全球众多开发者的青睐?它的崛起给开发者世界带来了什么变化?

在这里还是要推荐下我自己建的Python开发学习群:784758214,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2019最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴

● 成功的一半源于好的开始
   在主流编程语言当中,Python并不是一个“新人”,它的历史超过25年,但真正风靡之时却是最近几年,所以“后起之秀”的称呼实至名归。Python的起源是1989年,其发明者荷兰人程序员吉多•范罗苏姆受ABC语言的启发计划开发一个新的脚本解释器,由此迈出了Python项目的起点。

Python能够真正风靡的原因之一是有一个好的起点。它的起步很稳,避开了版权纠纷,且搭上了开源运动的顺风车。在那个年代,商业版权一直是热门事件,业界史上第一个软件领域重大官司AT&T和伯克利BSD的Unix版权案打得天昏地暗,该案的结局直接促成了BSD的开源分支、Linux的诞生以及震惊世界的自由软件运动。

Python最初的版权归属是CWI(阿姆斯特丹的国家数学与计算机科研学会),这与吉多早年在该机构工作有关,后来吉多受雇于CNRI(维吉尼亚州的国家创新研究公司),Python权属转移至此。那时自由软件运动已经开始,在CNRI期间发布的1.6至2.1多个版本的Python许可证是一种与GPL并不兼容且类似于BSD的开源许可,CNRI因受到自由软件基金会的压力释放了Python的原许可证,吉多由此掌握了主导权并起草了新的许可证。他改变了原许可证与GPL的不兼容,此举获得了自由软件基金会颁发的自由软件进步奖。再后来吉多和他的团队成立了Python软件基金会,将版权与许可证置于其下。

创始人吉多•范罗苏姆的心思缜密与灵活处事为Python最初的发展营造了良好的环境,包括几次权属的转移、起草新的许可证、机智地与自由软件阵营斡旋,最后安全融入开源的大潮。这一切为Python此后十多年里逐渐成长为主流编程语言赢得了契机。

● “人生苦短,我用Python”并非一句戏言

Python崛起的原因之二与其本身特点有关,或者说,其长期维护演进形成的独特风格迎合了大多数开发者的口味。在开发者社群流行着一句玩笑“人生苦短,我用Python”(原话为” Life is short, you need Python”),这句看似戏言的话实际上恰恰反映了Python的语言特性与其在开发者心里的价值分量。

除了包涵大多数主流编程语言的优点(面向对象、语法丰富)之外,Python的直观特点是简明优雅、易于开发,用尽量少的代码完成更多工作。尽管Python是一种解释型语言,与传统的编译型语言相比降低了机器执行效率,但是处理器的处理速率与环境速率(比如网络环境)的差异在大多数场景中完全抵消了上述代价;牺牲部分运行效率带来的好处则是提升了开发效率,在跨平台的时候无需移植和重新编译。 所以Python的显著优点在于速成,对于时间短、变化快的需求而言尤为胜任。

Python最强大的地方体现在它的两个外号上,一个叫“内置电池”,另一个是“胶水语言”。前者的意思是,Python官方本身提供了非常完善的标准代码库,包括针对网络编程、输入输出、文件系统、图形处理、数据库、文本处理等等。代码库相当于已经编写完成打包供开发者使用的代码集合,程序员只需通过加载、调用等操作手段即可实现对库中函数、功能的利用,从而省去了自己编写大量代码的过程,让编程工作看起来更像是在“搭积木”。除了内置库,开源社区和独立开发者长期为Python贡献了丰富大量的第三方库,其数量远超其他主流编程语言,可见Python的语言生态已然相当壮大。

“胶水语言”是Python的另一个亮点。Python本身被设计成具有可扩展性,它提供了丰富的API和工具,以便开发者能够轻松使用包括C、C++等主流编程语言编写的模块来扩充程序。就像使用胶水一样把用其他编程语言编写的模块粘合过来,让整个程序同时兼备其他语言的优点,起到了黏合剂的作用。正是这种多面手的角色让Python近几年在开发者世界中名声鹊起,因为互联网与移动互联时代的需求量急速倍增,大量开发者亟需一种极速、敏捷的工具来助其处理与日俱增的工作,Python发展至今的形态正好满足了他们的愿望。

● Python的影响

从两个著名编程语言排行网站TIOBE和PYPL的最新数据来看,Java与Python的排名分别位于第1和第5、第1和第2。关于两个网站的排行机制我们不得而知,但从开发者社群的相关评论中可以认为PYPL更能反映编程语言在开发者群体中的流行程度。不论如何,Python的崛起已是毋庸置疑的事实,而它上面的前辈则是常年占据榜单第1,互联网与移动时代的娇子Java。从Stackoverflow和多个开源社区公开的数据来看,Python的用户数量增长很快,在今后两年超过Java成为全球最流行编程语言的可能性非常之高。

值得一提的是,那些颇有影响力的主流编程语言,其背后一般都站着科技巨头公司,比如Java之于甲骨文、C#之于微软、Objective-C之于苹果。Java之所以常年第一是因为其同时还几乎是安卓平台的御用语言,以及受益于Sun时代影响力的眷顾。Python虽曾一度为谷歌使用,但Go语言问世后随着时间推移或将遇冷。也就是说,Python成了没有巨头站队的主流编程语言,那么它的影响力是如何维系的?为什么还能够保持高速成长并形成赶超Java之势?

我们认为这与Python多年来实现较好案例与范用性有关。使用Python开发的知名案例中,包括豆瓣、果壳、知乎、Dropbox、EVE(星战前夜)每一个都是重量级产品,这说明Python语言本身的发展已日臻完善,有着极高的稳定与可靠性保证。第二是Python的应用范围,除了日常工具和脚本之外,还适用于Web程序、GUI开发、操作系统中间件、服务端运维等等,这些年Python的一些第三方库在机器学习、神经网络方面活跃非凡,这也为语言本身的推广和流行加分不少。

最后需要指出的是,Python编程思想包含强烈的黑箱思维,这意味着开发者将愈加重视模块化和流水线式的编程工作,事实上这也是未来主流编程语言的发展趋向。随着计算机语言的演化和开发工具集成功能日趋强大,未来的编程工作将大幅简化。从某种角度看,Python更像是已经“迈入未来”的编程语言,其对开发者群体结构变化,以及新进开发者数量的激增,这些影响都将是深远的。

Python崛起:“人生苦短,我用Python”并非一句戏言相关推荐

  1. python有必要学吗-Python这么火,要不要学?听听华为工程师怎么说...

    编程语言发展得非常之快,后起之秀中Python显然最为耀眼.简明优雅.易于开发,"人生苦短,我用Python"并非一句戏言,Python成为许多工程师们心中"最美的语言& ...

  2. python queue 调试_学Python不是盲目的,是有做过功课认真去了解的

    有多少伙伴是因为一句'人生苦短,我用Python'萌生想法学Python的!我跟大家更新过很多Python学习教程普及过多次的Python相关知识,不过大家还是还得计划一下Python学习路线!Pyt ...

  3. python索引例子_谈谈python中的索引

    最近以python为工具,取代VBA处理工作中Excel遇到的小问题,我觉得其优点:一是语言更清爽友善,因为VBA的语言一来IDE难用,语法风格不大气优雅(我个人的见解):二是,我一直怀疑Excel对 ...

  4. go加载python_人生苦短我用python(02)动态加载模块-Go语言中文社区

    文章内容为原创,欢迎转载请注明出处 作者: EflyPro->晦明禅师 文章来源:公众号"睿江云计算" 继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一 ...

  5. 我在学python-你们以为我在学C++?其实我在学Python!人生苦短!

    你们以为我在学C++?其实我在学Python!人生苦短! 我会随便说,C++ 近年来开始"抄袭" Python 么?我只会说,我在用 C++ 来学习 Python. 不信?来跟着我 ...

  6. nginx配合python_人生苦短我用python[0x02] nginx与python结合

    原标题:人生苦短我用python[0x02] nginx与python结合 **文章内容为原创,欢迎转载请注明出处** 背景 nginx是一款高性能的http服务器,python是一门无论做系统开发还 ...

  7. **print('人生苦短 我爱Python')**

    print('人生苦短 我爱Python') 一.变量 **""" 1.代码自上而下执行 2_运算符和表达式.一行一句,不要把多个语句写到一行上,可读性不好 3中文只能出 ...

  8. 人生苦短我用python梗_为什么说人生苦短,我用Python?

    原标题:为什么说人生苦短,我用Python? 首先,我们要认识到,什么是脚本? 脚本的本质是什么? 它就是一段代码,只不过让对应的解释器执行即可:和它相对应的是编译型代码,需要编译成可执行文件或者目标 ...

  9. python动态加载模块有什么用_人生苦短我用python(02)动态加载模块

    继第一期[人生苦短我用Python系列专栏]发布后,深受广大睿普迷的一致好评,经常问小普第二期什么时候出呀?好期待~ 来来来小普这就呈上第二期[02动态加载模块] 错过了第一期的小伙伴们可以点此穿越哦 ...

最新文章

  1. JSON http://www.cnblogs.com/haippy/archive/2012/05/20/2509329.html
  2. 服务器Linux与Windows固件,Linux与windows服务器系统的区别
  3. linux下mdadm创建软件RAID
  4. Web开发者必备的12款超赞jQuery插件
  5. c语言 自动包含头文件,C语言不要重复包含.h头文件和.c文件
  6. Java平台模块化系统(JSR 376)通过公开测评复议投票
  7. 在Hibernate,EhCache,Quartz,DBCP和Spring中启用JMX
  8. 【转载】生怕我等着急了的扬州程序员
  9. Endnote自定义参考文献格式锦集
  10. 索引体积_第16期:索引设计(MySQL 的索引结构)
  11. 微课|玩转Python轻松过二级(2.1.4节):列表、元组、字典、集合概述
  12. 你有真正理解 Java 的类加载机制吗?| 原力计划
  13. 5.CND技术详解---全局负载均衡工作原理及实现
  14. Windows 2008下Exchange Server部署攻略
  15. dnf脚本是php,dnf自动搬砖脚本教程autojs在使用
  16. 时间管理——永远做重要不紧急的事情
  17. 城市规划设计毕业论文范文
  18. 怎么把qlv格式转换成mp4?快速转换qlv格式的方法
  19. [图像去雨]--Arixv-Gradual Network for Single Image De-raining
  20. Python 识别图片字符

热门文章

  1. ZooKeeper管理员指南——部署与管理
  2. Appium基础篇11-元素操作之点击和输入
  3. 鸿蒙OS应用开发基础之页面的跳转
  4. mac版小达人点读包怎么安装_一分钟搞定小达人点读笔点读包安装问题!
  5. element+vue表格分页多选
  6. 电脑一键还原,U大师电脑版一键备份还原系统V1.0.0 - 一键还原,一键ghost系统
  7. 【C系列综合1】游戏达人I
  8. 继电器, 接触器,干簧管,弱电控制强电
  9. 关于智能化弱电工程实施的几个重要问题
  10. 二叉树实现的简单家谱管理系统