如果让你从数百种的编程言语中挑选一个入门言语?你会挑选哪一个?
我想,每个人可能会依据工作要求的必定条件、兴趣爱好,做出相应不同的挑选。也有许多工程师在学习一门新的技能时,都会忧虑自己所学的技能是否会越来越盛行,尽量去防止学习了一个十分小众和冷门的技能。这种忧虑是能够了解的,究竟,一门技能运用的人越多,关于前期学习这门技能的工程师来说,就有越多的长处和优势。与此同时,如果学习了一门冷门的技能,不光英雄无用武之地,并且,在求职市场上也没有什么优势。要问我的入门编程言语挑选,我首选必定是 Python,其具体原因能够引用一位网友的答复,「学完 Python,能够上天」。
Python 盛行度
如果大家身处互联网,必定能够切身地感受到 Python 言语的盛行程度。Python 言语由于其简略易学、语法美丽、运用范畴广泛等许多长处,抓获了大批的粉丝。可是,拿不出切当的依据,许多开发者也无法压服自己静下心来学习。接下来我们就用数据来说话。
编程言语排行榜
首要,我们了解一下近期编程言语排行榜中,Python 言语排名的改变。TIOBE 每个月发布的编程言语排行榜是编程言语盛行趋势的一个目标,每个月更新。这份排行榜排名根据互联网上有经历的工程师、课程和第三方厂商的数量,运用查找引擎进行核算而得,必定程度上反响了编程言语的热度。
2017年9月TIOBE编程言语排行榜
2017年10月TIOBE编程言语排行榜
2017年11月TIOBE编程言语排行榜
从近三个月的排行看,Python 一向稳定在排行榜的前五名。但编程言语排行榜仅能反响 Python 言语当下的盛行程度,并不能答复 Python 是否越来越盛行这个问题。不过,我们能够从 TIOBE 发布的历史数据中找到一些头绪。在 2015 年 2 月份发布的 TIOBE 编程言语排行榜中,Python 还排在第 8 名的方位,短短两年半的时刻,Python 言语现已蹿升到第 4 名,其上升速度不行谓不快。
Google trends
既然 TIOBE 的编程言语排行榜是依据查找引擎得到的数据,那么,我们也能够经过查找引擎得到 Python 的查找指数,经过查找指数来检查 Python 言语热度的改变。图1.1 给出了最近 4 年,Python 这个关键词的 Google 查找指数。
图 1.1 Python 的 Google 查找指数
图1.1中能够看到,从全球规模来看,Python 言语是越来越盛行的,其热度超过了以往任何时候。从我国的查找指数来看,Python 言语现已不是越来越盛行这么简略了,而是呈现了爆发式的增加。2014 年曾经,Python 在我国都归于小众言语,从 2014 年开始,Python 在我国越来越火爆。
根据以上的编程言语排行榜、Google 查找指数和微信查找指数这几个不同的数据来历,检视了 Python 言语的盛行程度。现在,我们能够十分清晰的得出一个定论——Python 言语越来越盛行,并且现在十分火。
那么为什么 Python 言语会越来越盛行呢?
原因许多,如越来越多的工程师运用 Python 进行大数据处理;科研工作者开始运用 Python 来进行数据剖析;体系管理员运用 Python 管理 Linux 体系;开源的云核算渠道 OpenStack 运用 Python 言语开发;许多编程爱好者运用 Python 进行爬虫等。可是,笔者以为,Python 言语之所以越来越盛行,运用越来越广泛,首要仍是得益于其自身的许多长处。
对 Python 的爱与恨:那些不得不说的优缺陷
明显的长处
Python 言语具有许多的长处,这其间,以下几个长处特别明显:
· 简略易学: Python 言语相关于其他编程言语来说,归于比较简单学习的一门编程言语,它重视的是怎么处理问题而不是编程言语的语法和结构。正是由于 Python 言语简略易学,所以,现已有越来越多的初学者挑选 Python 言语作为编程的入门言语。例如,在浙江省 2017 年高中信息技能改革中,《算法与程序设计》课程将运用 Python 言语替换原有的 VB 言语。
· 语法美丽: Python 言语力求代码简练、美丽。在 Python 言语中,选用缩进来标识代码块,经过削减无用的大括号,使得代码的可读性明显进步。阅览一段优秀的 Python 代码就感觉像是在读英语一样,它使你能够专心于处理问题,而不必太纠结编程言语自身的语法。
· 丰厚强壮的库: Python 言语声称自带电池(Battery Included),涵义是 Python 言语的类库十分的全面,包括了处理各种问题的类库。无论完成什么功用,都有现成的类库能够运用。如果一个功用比较特别,规范库没有供给相应的支撑,那么,很大概率也会有相应的开源项目供给了相似的功用。合理运用 Python 的类库和开源项目,能够快速的完成功用,满意事务需求。
· 开发功率高: Python 的各个长处是相得益彰的。例如,Python 言语由于有了丰厚强壮的类库,所以,Python 的开发功率能够明显进步。相关于 C、C++ 和 Java 等编译言语,Python 开发者的功率进步了数倍。完成相同的功用,Python 代码的文件往往只要 C、C++ 和 Java 代码的 1/5~1/3。尽管 Python 言语具有许多吸引人的特性,各大互联网公司广泛运用 Python 言语,很大程度上是由于 Python 言语开发功率高这个特色。开发功率高的言语,能够更好的满意互联网快速迭代的需求,因而,Python 言语在互联网公司运用十分广泛。
· 运用范畴广泛: Python 言语的另一大长处就是运用范畴广泛,工程师能够运用 Python 做许多的工作。例如,Web 开发、网络编程、自动化运维、Linux 体系管理、数据剖析、科学核算、人工智能、机器学习等等。Python 言语介于脚本言语和体系言语之间,我们依据需求,既能够将它作为一门脚本言语来编写脚本,也能够将它作为一个体系言语来编写效劳。
不行忽视的缺陷
毫无疑问,Python 的确有用许多长处,每一个长处看起来都十分吸引人。可是,Python 并不是没有缺陷的,最首要的缺陷有以下几个:
· Python 的履行速度不够快。当然,这也不是一个很严重的问题,一般情况下,我们不会拿 Python 言语与 C/C++ 这样的言语进行直接比较。在 Python 言语的履行速度上,一方面,网络或磁盘的延迟,会抵消掉部分 Python 自身耗费的时刻;另一方面,由于 Python 特别简单和 C 结合起来,因而,我们能够经过分离一部分需求优化速度的运用,将其转换为编译好的扩展,并在整个体系中运用 Python 脚本将这部分运用连接起来,以进步程序的全体功率。
· Python 的 GIL 锁约束并发: Python 的另一个大问题是,对多处理器支撑欠好。如果读者触摸 Python 时刻比较长,那么,必定听说过 GIL 这个词。GIL 是指 Python 大局解说器锁(Global Interpreter Lock),当 Python 的默许解说器要履行字节码时,都需求先请求这个锁。这意味着,如果企图经过多线程扩展运用程序,将总是被这个大局解说器锁约束。当然,我们能够运用多进程的架构来进步程序的并发,也能够挑选不同的 Python 完成来运转我们的程序。
· Python 2 与 Python 3 不兼容: 如果一个普通的软件或着库,不能够做到后向兼容,那么,它会被用户无情的扔掉了。在 Python 中,一个槽点是 Python 2 与 Python 3 不兼容。由于 Python 没有向后兼容,给一切的 Python 工程师带来了很多的烦恼。
怎么上手?
· 自制力强的话找一本深入浅出比较好的教程,无须多种挑选,仅精选一本,自始至终看完。将教程中的事例自己亲手实践一遍。
·如果自制力不行,学习吃力的话,就老老实实得找个专业的培训机构,好好学习,多实践项目练习。
· 经过实践项目练手。如果仅是纸上谈兵,可能过目就忘,所以最好是做项目实战。自己着手搭建网站。
最终,在挑选运用哪一门编程言语之前,我还想提示读者的是——“世界上只要两种编程言语,一种是天天被人吐槽但却被广泛运用的编程言语,一种则是无人问津没有存在感的编程言语”。Python 言语作为排名榜首的动态类型言语,天然有它的道理。如果我们充分的了解它的优缺陷,在运用的时候,取其精华去其糟粕,那么,Python 一定是工程师解决问题的好帮手。
在IT教育领域,每天都有太多成功逆袭的故事在发生。它不但改变了一个人的命运,更给了整个IT界以全新生命。北邮在线,教育引领未来。
2018,选择北邮在线IT教育,帮你找份好工作!!!