前言
置信不少人曾经看过了 TIOBE 5 月份公布的编程界“江湖兵器排行榜”,Python 以 2.75% 的增长趋势赶超 Java 排到了第 2 名,不少“强人”还大胆预言 Python 往年将排到到所有编程语言第 1 名的位置,但对龙叔看来,这些都很失常,每次编程语言排行榜一旦呈现变动,大家都喜爱对将来做点预测。
只是让我受不了的就是,又有些另有目标或基本不懂的人在传“Python 是世界上最好的语言”、“小白学编程就该学 Python”…
在我看来,这种舆论极具误导性,去年 11 月 Python 实现了十几年没呈现的奇观“第一次赶超 Java”的时候,就有不少“大佬”大放厥词,过后我就发文痛 P“误人子弟”,即便明天 Python 再次强势回升,我也一样要大胆提出本人的认识:
我仍然拥护那些“Python 是最好的编程语言”、“倡议小白学 Python”的舆论!
为什么我要拥护?起因有以下几个方面的。
一、某人钟爱
对于咱们程序员来说,开发一款软件的过程当中,你可能会用到好几门语言来解决你的问题,也就是说一个程序员他有可能要把握一到多门语言,然而大多数程序员最相熟的那门语言,肯定是他以后所用的那一门儿,而后以此为根底,引入一些其余的语言的长处,来加强本人软件的一些性能。
所以说好多程序员其实都会陷入相似“PHP 是全世界最牛逼语言”的这种误区。
他会钟爱本人的那一门语言,而后点评编程语言优劣的这种说法,其实都具备极强的一个误导性。
二、以偏概全
咱们用某种语言来写程序,写进去的程序是不可能运行在空气中的,咱们写进去的程序肯定是要运行于某个环境当中的。
所以说 决定软件性能优劣的相对不只是语言的优劣,它是一整套体系决定的。
独自探讨编程语言哪个优劣,就好比你去比照 F1 赛车跟奇瑞 QQ 两者的车速,你可能会说 F1 赛车必定牛逼,奇瑞 QQ 必定弱爆了,但问题是如果我把这两辆车都开到了北京五环呢,堵车堵到水泄不通,那么它两者的速度是不是都差不多?
所以看问题应该成体系、整体去看,不谋全局者不足以谋一域。
大家很少会看到有架构师进去谈语言的一个优劣,你基本上看到的都是程序员在探讨哎说哪种语言更好、哪种语言更坏。有人说 JAVA 是全世界最牛逼的语言,有人说 PHP 是全世界最牛逼的语言,有人说 Python 是全世界最牛逼语言,这其实都是十分愚昧的一种论调。
语言对于咱们程序员来说只是工具,咱们要做的是解决问题,而不是去钻研谁的工具最牛逼。能够说谁的工具都牛逼,谁的工具也都不怎么牛逼。
三、低空建楼
编程语言的学习它是一整套体系。
第一层你首先得理解一下计算机硬件,像 CPU、内存的硬盘他们大抵的工作原理是什么。第二层就是在硬件之上,你得理解一下操作系统是啥,以及它大抵的工作原理。第三层才是在操作系统之上来开发应用程序,那这个时候你就须要把握一到两门编程语言进行开发了。
然而我看到大多数人的剖析都是间接站在了第三层,对于小白来讲无异于低空建楼,它默认你曾经晓得了计算机硬件加操作系统,也就是软件的一型平台是个啥,而后去比照语言层面的优劣。
如果说你曾经进入到互联网开发畛域了,那这种。你尚且能够听一听编程语言优劣剖析的舆论,因为你曾经有肯定的根底了,那你能够站在第三层去听一听这种语言它有什么长处和毛病,对你来说尚且有肯定的意义。
但如果说你还没有进入到互联网开发畛域,你连软件的历经平台是个啥你都不晓得,那语言层面的比照对你来说毫无意义。
因为你此时所面临的首要问题就是如何入门开发畛域,可能进入到这个行业,这才是最要害的。
对于小白来说,你要时刻牢记,你学的是编程,是去解决问题的,其次才是抉择适合的编程语言,把你的思维逻辑翻译下来,这个先后顺序肯定要搞清楚。
如果你上来就曾经假设本人是一名行业内的程序员,你去抉择本人适合的工具,那这是十分愚昧的,因为你都不晓得你会遇到什么问题,你甚至连编程是什么你都不晓得。
所以我的倡议小白,如果你对 IT 畛域的确感兴趣,那如何疾速学会编程,先进到这个畛域当中去,这才是最要害的。
四、点评 Python
尽管 Python 并没有设想中的那么全面,但有些方面还是值得必定的,如果你感觉这些方面就是你想要的,那么你能够去学 Python 是没有错的。
1. 上手工夫快
你想疾速把你本人的编程逻辑用某种语言给实现进去,Python 相对是小白的一个首选。
学 Python 你一个月你就能够立马去写程序了,这对小白来说是十分敌对的,那你应该抉择一门可能疾速上手开发程序,而后再理解了这个编程是什么,最初再去探讨应该抉择 python 这种工具还是换成其余的工具。
与其一上来就抉择一门比拟重型的语言,而后长期彷徨在入门级别而不能上手去写程序,最终因为你毅力有余而导致而抉择放弃,倒不如选一门容易上手的编程语言。
2. 举一反三
拿我本人为例,我最开始学的 C 语言,大学时自学了 Java,进入工作的十几年里陆续学了 PHP 和 Python,对我来说,给我 1 个月的工夫我就能把握 1 门编程语言,你别不信,等你精通了一门语言,你就能做到这种举一反三的成果。
因为要时刻牢记你学的是编程,等到你会了编程当前,换一门语说白了就是把你实现编程的工具由一种换了另外一种,这是非常简单的一件事儿。
当然,深刻学习所有的这个语言你都会感觉难,为啥呢?因为语言它是一门工具,深刻学习上来就不是在钻研工具了,是在寻求如何高效解决问题的方法。
说白了,你此时遇到的问题可能是多种多样的,某一种语言它也不能齐全解决你所有的问题,你可能须要多种语言配合的来解决你的问题,所以咱们常说,一名合格的程序员应该至多把握两门语言。
如果说你本人根正苗红计算机专业毕业的,你计算机基础知识比拟扎实,或者说你对本人的意志力和学习能力足够的自信,那你优先选择什么语言,我感觉都能够进入到互联网开发畛域中来。
如果不是,那其实我举荐小白以 python 这种容易上手的这种工具为根底,疾速的把握编程,而后再横向地去学习其余的工具。
3. 职场差异化
当初市场上最多的就是 Java 程序员,这是毫无疑问的,对于刚进入职场的年老程序员,你的竞争对手可能是具备四五年甚至更多年开发教训的老程序员,就比方以前我给技术部门的指标根本都是“优先思考有教训的”。
那么对于绝大多数新人来说,除了有干劲和头发多之外,仿佛别无劣势。
但其实在技术层面,是能够打一个差异化,Python 的入行薪资广泛比 Java 高,这是招聘平台的大数据,目前把握 Python 的程序员并没有那么多,而 Python 这 4 年来的势头很迅猛,间断 4 年的最受欢迎的编程语言排行榜第 1 名,那么恰好是此时,用 Python 进入职场打 1 个差异化,也是不错的抉择。
至于有人说学 Python 找不到工作的人,我不晓得怎么讲了,学 Java、学 C、学 C +++ 找不到工作的人也大有人在,请不要把这归咎于语言身上,尤其是一门始终处于前列的语言,请反思一下你把握了多少货色?你把握的货色能满足企业的需要吗?从企业角度来讲,你能发明的价值是否能高于你的要价?
4. 炒作热度?
我听过很多人说“Python 是被国内的教育培训机构炒热的”,我听了之后无言以对,我甚至有点拜服说这话的人的脑子。
首先,我先阐明一点,我没收谁的一份钱,我也不想替哪家机构洗白,我只是想替 Python 说几句公道话。
我来问大家两个问题。
第一个问题,是不是全世界的程序员都被咱国内的培训机构忽悠了?
第二个问题,你可能会说,我始终讲的都是世界排名,可能 Python 只是在国外用的比拟多呀,在咱们国内用的比拟少。
那你通知我,你哪一种编程语言不是先从国外火起来,而后在咱们国内再效仿着应用的?有一个算一个,Java 是不是先从国外火起来的?C 是不是?C++ 是不是?
说白了,这些编程语言的原产地都是国外,都是先从国外用起来,而后再推广到国内的,Python 的世界占有率那么大,世界上都在宽泛应用,你感觉国内接下来不会宽泛应用吗?
不论将来怎么样,当下更多的还是国外在影响着咱国内的技术总下。
毫无疑问,任何一门新技术的引入必然会冲击到老根底,褒贬不一那是必定的。然而作为一名技术人员,你如果没有一点点前瞻性,那你凭什么走在他人后面?心愿大家是通过数据来失去主观的答案,而不是站在本人狭窄的立场里主观的下结论说“我感觉 A 不行、B 用的不多”、”C 在世界的大火是被培训机构宣传起来的”。
培训机构素来只是技术趋势的跟随者,而不是创造者。所以请跳出你的主观臆断,你只代表你本人,你左右不了世界排名,你更代表不了世界占有率。心愿看完文章的同学,你要有本人迷信的剖析,而不是只听本人违心听的。
比起劝你学或不学的舆论,入手反而更能让你感到舒服与劳碌。