为啥python这么火
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥python这么火相关的知识,希望对你有一定的参考价值。
python为什么这么火?
参考技术A以下观点是在基于理性分析后做出的预测!
至2027年:
自动驾驶已相当成熟,大街上超过30%的汽车是无人驾驶的,很多私家车主在上班期间就把车开启自动架驶模式,让它自己接单挣外快
电动汽车续航可达到1000公里,各大汽车公司宣布不再生产汽油、柴油车,所有汽车电池标准化了,没电了只需到充电站花5分钟换电池即可
Space X的火星飞船第一次实现载人往返,公司总裁埃隆马斯克信心满满的发布了2050计划,计划要在2050年实现火星长住人口超过5000人,到本世纪未要在火星上建造一座超过10万人居住的小型城市
各行业大量使用机器人替代人工,底层的司机、保安、快递、清洁工、超市服务员、护士、制造工人等技术含量较低的工程受到极大冲击,大量人员失业增加了社会的不稳定性
除了让机器人做底层繁重的重复的工作外,有技术含量的事情也离不开机器人,比如金融行业里的70%的投资交易都通过职能投资机器人自动完成, IBM的研发的机器人医生不知疲倦的帮病人看病,通过对数百万病历的分析和分类,可以识别和处理人类所见的95%病情,误诊率比人类医生低10倍以上。
中国彻底进入无现金社会,所有的交易都通过网络支付完成,央行宣布回收所有纸币,纸币价值将在2030年失效
中国GDP在2025年首超美国,成为世界第一大经济体
中国企业在越来越多的领域领先全球,微信在100多个国家被广泛使用,华为、小米手机成为成为全球第二、第三大手机厂商,三星市场大幅萎缩。 中国商飞的大飞机抢占了民航机20%的市场,中国承建了众多欧美发达国家的高铁建设
中国对自己的政治体制更加自信,对外变的更加开放,谷歌、Facebook在2022年再次进入中国开展业务
VR游戏成为游戏的标配,人们超过一半的休闲时间都花在了玩游戏上
越来越多的人选择单身,漂亮性感且体贴的性爱机器人在都市宅男群体中大受欢迎,很多人攒钱不是为了买车买房,而是为了能拥有一个属于自己的机器人男女朋友
2027年,科学家宣布已经可以彻底治愈艾滋病
人体衰老细胞重构技术诞生,通过进行衰老细胞清理和新细胞再生,人类的容颜可以在一个月内年轻10岁,通过若干次的细胞重构手术,人类寿命有望延长至150-200岁,人类的价值观因此受到巨大冲击,因为即使到了60岁,体质也可以做到跟现在的40岁一样
好了,你的脑洞已经打开了,那么我们现在来看Python
至2027年,Python已经推出了5.0版本,开发效率极高、运行速度飞快,成为全球最受程序员欢迎的开发语言!全球超过50%的IT系统是基于Python开发的!
这不是危言耸听或夸大其词, 我为什么做这样的判断,是因为我觉得,Python是目前我了解的所有语言里,最有可能成为最符合人类对 编程期待的语言,人类对编程语言的期待是什么?就是“更高更快更强”呀!等等,这不是体育口号么。
就是这样的,分别解释下:
更高——开发效率更高,这一两年Python在业内大火, 我一直思考原因是为什么,除了云计算帮Python带了一波节奏外,还有没有其它原因呢?必然有,我认为还有一个主要原因就是近几点互联网创业热情高涨,千千万万程序员听了各种创业鸡汤,辞掉了大公司安稳工作玩创业,14,15年的中关村创业大街那叫一个热闹,总理都去过好几次,我自己当时也和朋友尝试搞过一两个项目,当时大家都急着要把东西快速开发出来去拿融资,那时的投资人脑子也是热呀,大批大批的钱投给各创业公司,供他们各种现金补贴抢用户。 时间就是金钱,大家恨不得今天刚有了idea,明天产品就能上线,产品晚上线一个月,可能战争就跟你没关系了。 因此,一门开发效率极高的语言就此进入开发者眼帘,开发者们因为犹如神助,开发效率不知道比C,Java高到那里去了,众多创业公司首选 Python做为开发语言,虽然那些创业公司大多都 失败了,但是催生起了Python在国内大热的前戏。
更快——运行速度更快,显然Python并不是一门快语言,慢也是被很多程序员诟病Python的主要原因,但最近几年PyPy解释器在不断的提高着Python的运行速度 ,通过PyPy运行的程序,在某些场景下速度直接逼近C语言,相信再过几年,Python的运行速度将不再是问题。另外,由于近些CPU处理速度的快速发展,编程语言本身的快慢在大多数业务场景下已不再被做为主要考量(除了对响应速度极为敏感的业务,如搜素)。
更强——功能更强,这是导致Python大火的另一个主要原因之一,Python的标准库和第三方库强大到你无法想象,无论你想从事任何方向的技术编程,你几乎都能找到相应的库支持,以下仅举几个栗子:
WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)
网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单
爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\\Request\\BeautifuSoap\\urllib等,想爬啥就爬啥
云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算
人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。
自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python
金融分析——我个人之前在金融行业,10年的时候,我们公司写的好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言
科学运算—— 你知道么,97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛
游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明>就是用Python写的
列举这么多之后,你会发现,Python几乎在上述每个领域都做的非常优秀,这是一门真正意义上的全栈语言,即使目前世界上使用最广泛的Java语言,在很多方面与Python相比也逊色很多!我目前还看不到有哪门语言,能同时在在如此多的领域能做出这些成绩。
最后我在做几点与Python相关的预测:
5年之内,Python会取代php,成为最受欢迎的WEB开发语言
10年内,Python的使用量将趋近甚至超过Java
10年内,主流的人工智能技术都是基于Python开发
Python应用率已经取得第一的领域有:云计算、爬虫、自动化运维、金融分析
再最后,copy一段从其它blog看到的文字,或许它真正预示着Python的未来:
大概在 2003 或者 2004 年的时候,我买过一本 Python 的书,作者是一位巴西人。他说自己之所以坚定的选择 Python,是因为他小时候经常梦到未来世界将由一条大蟒蛇(蟒蛇的英文为python)统治。我当时觉得这哥们好可怜,做个梦都能梦到这么恐怖的场景。但今天来看,也许他只是像黑客帝国里的程序员安德森一样,不小心穿越到未来,并且窥探到了世界的真相。
我们可以很清晰的看见,在过去的2017年Python干了那些大事:
1.Python大热:从业界反馈看机器学习语言趋势——2017年1月
在深度学习市场,对 Python 的招聘需求仍然最高。但前五大语言的排序变成了Python,C++,Java,C,R。这里有很明显的对高性能计算语言的侧重。 而且,Java 的增长速度惊人,它可能很快成为深度学习市场的第二位。在可预期的将来,R 还不会成为最受欢迎的深度学习语言。令人惊讶的是 Lua 的存在感之低。要知道,开源框架巨头之一的 Torch 便是基于 Lua,许多开发者因此会认为它在深度学习市场占有特殊地位。
2.Python正式迁移到GitHub——2017年2月
Python 正式迁移到源码托管平台 GitHub,拥抱了 Git 版本控制系统。Python 社区早在2014年就开始讨论是否迁移到 GitHub 以改进开发流程,当时 Python 使用的版本控制系统是 Mercurial,而 GitHub 只支持 Git 版本控制系统,所以这也意味着 Python 需要迁移到 Git。
3.2017年7大最佳的人工智能编程语言——Python第一!——2017年3月
在第三届互联网大会中百度CEO李彦宏曾表述:靠移动互联网的风口已经没有可能再出现独角兽了,因为市场已经进入了一个相对平稳的发展阶段,互联网人口渗透率已经超过了50%。而未来的机会在人工智能。的确互联网巨头公司在人工智能领域投入明显增大,都力争做人工智能时代的“带头大哥”。
Python作为一门编程语言,其魅力远超C#,Java,C,C++,它被昵称为“胶水语言”,更被热爱它的程序员誉为“最美丽的”编程语言。从云端、客户端,到物联网终端,python应用无处不在,同时也是人工智能首先的编程语言。
4.Python荣获2017年最流行编程语言——2017年7月
根据IEEE Spectrum研究报告显示,在2016年排名第三的Python在今年已经成为世界上最受欢迎的语言,C和Java分别位居第二和第三位。最近我们报道,Java被斯坦福大学定为入门语言,主要是因为这个编程语言已经“老化”,斯坦福大学不鼓励学生采用CS 106课程,而是用javascript代替Java。然而,根据这份报告,Java仍然是招聘者中最受欢迎的技能之一
5.Python超过R,成为数据科学和机器学习的最常用语言——2017年8月
近期,数据挖掘资讯网站KDnuggets开展了一项调查,问题是“2016年和2017年,在数据分析、数据科学和机器学习工作中,你使用R、Python、两者都用,还是其他工具?”
对954名受访者的调查显示,Python尚未完全“吞噬”R,但2017年Python生态系统已经超越了R,成为数据分析、数据科学和机器学习领域领先的平台,同时也在迅速吸引其他平台的用户。
2016年,Python排名第二(“主要使用Python”占比为34%,“主要使用R”占比为42%),而在2017年的结果中,Python和R的占比分别为41%和36%。
2016年,Python排名第二(“主要使用Python”占比为34%,“主要使用R”占比为42%),而在2017年的结果中,Python和R的占比分别为41%和36%。
6.Python是高收入国家增长最快的语言,没有之一!——2017年9月
本文根据Stack Overflow流量分析了Python及其他一些编程语言的发展情况,同时也对高收入国家与非高收入国家的情况进行了对比。以下是译文。
我们最近的研究表明,富裕国家(世界银行定义为高收入国家)喜欢研究的技术与其他国家的不同。其中,我们看到最大的差异是Python语言。当我们关注高收入国家的时候,甚至可以看到Python的增长速度甚至比Stack Overflow Trends或者其他一些全球软件开发排名显示的还要快。
7.Ubuntu 17.10默认不再安装 Python 2——2017年10月
这次的 Ubuntu 17.10 虽然不是重要的 LTS 版本,连 Ubuntu 官网的介绍中都将其视作是明年的 Ubuntu 18.04 LTS 的前奏,但是这个版本其实还是有几个处女式创新:
这是第一个放弃 32 位支持的主版本,不过 17.10 的官方风味版本还会继续支持 32 位。
这是七年来 Ubuntu 主版本第一次放弃 Unity 用户界面,改投 GNOME 怀抱,目前采用的是最新的 GNOME 3.26.1。
这是第一次默认使用 Wayland 显示服务器,而 X.Org 显示服务器则是可选的。当然如果你的机器不支持 Wayland ,会自动回退到 X.Org。
默认不再安装 Python 2,Python 3 更新到了 3.6。
8.numpy宣布不再支持python2.7——2017年11月
Python核心团队计划在2020年停止支持Python 2。NumPy项目自2010年以来一直支持Python 2和Python 3,并且发现支持Python 2对我们有限的资源增加了负担;因此,我们最终计划将停止支持Python 2。现在,我们已经进入了社区支持的Python 2的最后几年,NumPy 项目公布了它逐步淘汰 Python 2 支持的时间表,目标是帮助下游生态系统制定计划并完成过渡。
我们目前的计划如下:
到2018年12月31日为止,所有的NumPy版本都将完全支持Python2和Python3。
从2019年1月1日开始,任何新的功能版本都只支持Python3
9.Google Research Blog 推出开源 Python 库“Tangent”
日前,Google Research Blog 推出开源 Python 库“Tangent”。据介绍,这个库与现有的机器学习库相比,存在诸多优势,可以大大改善了用户的使用体验。
整理如下:
Tangent 是一个全新的免费开源 Python 库,可以用于自动微分。与其他现有的机器学习库相比,Tangent属于源到源(source-to-source)系统,可以用 Python f 函数调用新的 Python 函数,计算出 f 的梯度。对用户来说,这大大改善了梯度计算的可见性,更易于编辑和调试。
10.Python 进入山东小学教材,还列入全国计算机等级考试——2017年12月
从 2018 年起,浙江省信息技术教材将不会在使用晦涩难懂的 VB 语言,而是改学更简单易懂的 Python 语言。也就是说,Python 将纳入高考内容之一。
据「海码爸爸」称:浙江省信息技术课程改革方案已经出台,Python 确定进入浙江省信息技术高考,从 2018 年起浙江省信息技术教材编程语言将会从 VB 更换为 Python。
其实不止浙江,教育大省北京和山东也确定要把 Python 编程基础纳入信息技术课程和高考的内容体系,Python 语言课程化也将成为孩子学习的一种趋势。
尤其山东省最新出版的小学信息技术六年级教材也加入了 Python 内容,小学生都开始接触 Python 语言了!!
11.微软正考虑添加 Python 为官方的 Excel 脚本语言(2017年12月19日)
据外媒报道,微软正考虑添加 Python 为官方的一种 Excel 脚本语言,如果获得批准,Excel 用户将能够像目前使用 VBA 脚本一样,使用 Python 脚本与 Excel 文档、数据以及一些 Excel 核心函数进行交互。
12.Python Web 开发框架 Django 2.0 发布(2017年12月04日)
流行 Python Web 开发框架 Django 释出了 2.0 版本。主要变化包括:停止支持 Python 2 系列,Django 1.11.x 是支持 Python 2.7 的最后版本,Django 2.0 支持 Python 3.4、3.5 和 3.6,其中 Python 3.4 将于 2019 年 3 月结束支持,因此 Django 2.0 也将是最后一个支持 Python 3.4 的版本。
Python是一门比较容易学习的语言,因为它是非常高级的语言,比C和C++这样的语言,还要高级几个层次,即使是一个小学刚毕业的学生都可以学会。它不需要管理内存分配,不需要定义变量的类型即可使用,内置了很多数据类型直接使用,而不需要考虑怎么样创建这些类型,比如列表、字典、字符串这样高级的功能。另外,用它写出的代码,可以直接运行,不需要进行编译的操作。还有一点,用它写出的代码非常短,打字量可以少很多,真的可以节省很多键盘的损坏,减少“键盘手”的疾病产生,对于开发人员来说,健康是最大的本钱,如果手都损坏了,什么也做不了。
开发效率高
Python是一门开发效率最高的语言,它比C有6倍的开发效率,简单来说,如果一个C开发人员工作6天,使用Python的开发人员只需要工作一天即可,意味着做Python开发人员可一周只上一天班。它比C++有2倍的开发效率,它比Java和C#也有1.5倍的开发效率。有这么高的开发效率,当然是用性能换来的代价,不过从目前硬件技术进步来看,目前的CPU计算能力普遍是过剩的,并且越来越多硬件成本降低,但人工的成本越来越贵。其实从社会进步来看,也是工具越来越先进,但人的大脑管理复杂程度并没有跟着提高,显然要提高起来就比较困难了。
目前在嵌入式系统都慢慢走向多核的CPU,在手机方面,都已经进入64位的8核时代了。在嵌入式系统方面,也有Pyboard这样的开源项目来进行了,这样的嵌入式Python主要适用于机器人控制方面。
调试运行方便
无论是在Windows平台,还是Linux平台,都一样开发和调试。跨平台运行更加方便,如果没有使用平台差别的API接口,只要写一遍代码,就可以在Windows平台或Linux平台上运行。
开源免费
Python无论在商业上,还是教育上,都是免费使用,意味可以零成本进入学习它,使用它。Python拥有众多功能完善的开发库可以使用。
测试领域需求
测试是软件开发里有相当大的工作量,比如模块测试,当开发人员把一个模块功能完成之后,需要测试这个模块是否正确,就需要搭建一堆测试代码,才可以验证的。这时,如果使用C++或Java来写这些功能,显然没有使用Python来得快,从前面效率就可以看到。因此,通常就会变成这样的开发模式:发布的软件是使用C++或Java开发,但测试的代码使用Python来开发。比如嵌入式系统涉及网络通讯方面,需要不断地向嵌入式系统发送网络数据和接收网络数据,就可以使用Python搭建一个测试环境出来,这样花费很少的时间,就可以对嵌入式系统进行验证,提高代码的质量,减少嵌入式系统与其它系统的调试时间,以及以后维护时间。
另外,通过使用Python语言编写众多的脚本,就可以提高自动化测试水平,每发布一个版本,就可以把以前的测试用例,全自动化测试一遍,这样会大大提高对软件快速发布的要求。像我所见过的测试用例,就有几万个,如果靠手工方式测试,验证起来是非常慢的,并且并不全面。目前采用全自动化测试之后,每天24小时运行,一台电脑相当于10个测试员工的工作量,可见带来多大效率的提升。在可以预见的将来,在测试领域里,Python的工作需求会持续增加,要求所有测试人员都会掌握这个好用的工具。 参考技术C Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎,同时在运维领域也被大量运用到自动化运维场景中。以下是Python的五大优势:
1、Python 易于学习;
2、用少量的代码构建出很多功能;
3、Python 拥有最成熟的程序包资源库之一;
4、Python 紧挨着 R 语言,都是现代数据科学中最常被使用的语言;
5、Python 是跨平台且开源的。
Python的各种优势领各大企业公司开始使用Python开发,这就造成了Python开发人才的紧缺,相应的Python开发人员的薪资待遇也在增高。据统计,目前Python开发人员的薪资待遇为10K以上,这样的诱惑很难让人拒绝。 参考技术D Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
据IEEE Spectrum研究报告显示,在2016年排名第三的Python在今年已经成为世界上最受欢迎的语言,C和Java分别位居第二和第三位。 最近报道,Java被斯坦福大学定为入门语言,主要是因为这个编程语言已经“老化”,斯坦福大学不鼓励学生采用CS 106课程,而是用Java代替Java。
以上是关于为啥python这么火的主要内容,如果未能解决你的问题,请参考以下文章