小言_互联网的博客

为何劝小白别学Python?一篇文章给你讲得明明白白

297人阅读  评论(0)

导读:此文观点是总部的技术总监郭总当面指导,由我整理,有幸聆听,不胜感激。郭总,上海交通大学硕士毕业,IT行业扎根已有8年,曾就职过中国电信和博奥生物集团(国家生物研究院)等企业,主导过众多的大型项目,阅历丰富。

 

最近,看到网上好多人站在在职程序员的角度去分析编程语言的一个优劣,劝小白学这个语言别学那个语言,这对小白来说是毫无意义的。

 

但是它又具有极强的一个误导性。

为什么呢?

 

编程语言只是工具,可选的当然有很多,但是每一种语言都不是十全十美的,它都各有优劣,但是我们要解决的问题却是实实在在的。

我们要寻求的一定是最优解,扬长避短。

1.很多程序员会习惯性地维护自己最擅长的编程语言

对于我们程序员来说,开发一款软件的过程当中,你可能会用到好几门语言来解决你的问题,也就是说一个程序员他有可能要掌握一到多门语言,但是大多数程序员最熟悉的那门语言,一定是他当前所用的那一门儿。然后以此为基础,引入一些其他的语言的优点,来增强自己软件的一些性能。

所以说好多程序员其实都会陷入类似“PHP是全世界最牛逼语言”的这种误区。

他会钟爱自己的那一门语言,然后点评编程语言优劣的这种说法,其实都具有极强的一个误导性。

 

2.软件性能的优劣是整套体系决定的,不仅仅是编程语言

我们用某种语言来写程序,写出来的程序是不可能运行在空气中的,我们写出来的程序一定是要运行于某个环境当中的。

所以说决定软件性能优劣的绝对不只是语言的优劣,它是一整套体系决定的。

单独讨论编程语言哪个优劣,就好比你去对比F1赛车跟奇瑞QQ两者的车速,你可能会说F1赛车肯定牛逼,奇瑞QQ肯定弱爆了,但问题是如果我把这两辆车都开到了北京五环呢,堵车堵到水泄不通,那么它两者的速度是不是都差不多?

所以看问题应该成体系、整体去看,不谋全局者不足以谋一域。

大家也会看到很少有架构师出来谈语言的一个优劣,你基本上看到的都是程序员在讨论哎说哪种语言更好、哪种语言更坏。

有人说JAVA是全世界最牛逼的语言,有人说PHP是全世界最牛逼的语言,有人说Python是全世界最牛逼语言,这其实都是非常愚蠢的一种论调。

语言对于我们程序员来说只是工具,我们要做的是解决问题,而不是去研究谁的工具最牛逼。

可以说谁的工具都牛逼,谁的工具也都不怎么牛逼。

 

编程语言的学习它是一整套体系。

第一层你首先得了解一下计算机硬件,像CPU、内存的硬盘他们大致的工作原理是什么。

第二层就是在硬件之上,你得了解一下操作系统是啥,以及它大致的工作原理。

第三层才是在操作系统之上来开发应用程序,那这个时候你就需要掌握一到两门编程语言进行开发了。

但是我看到大多数人的分析都是直接站在了第三层,它默认你已经知道了计算机硬件加操作系统,也就是软件的一星平台是个啥,然后去对比语言层面的优劣。

所有的编程语言都不是十全十美的。

如果说你已经进入到互联网开发领域了,那这种。你尚且可以听一听编程语言优劣分析的言论,因为你已经有一定的基础了,那你可以站在第三层去听一听这种语言它有什么优点和缺点,对你来说尚且有一定的意义。

但如果说你还没有进入到互联网开发领域,你连软件的历经平台是个啥你都不知道,那语言层面的对比对你来说毫无意义。

因为你此时所面临的首要问题就是如何入门开发领域,能够进入到这个行业,这才是最关键的。

对于小白来说,你要时刻牢记,你学的是编程,是去解决问题的。其次才是选择合适的编程语言,把你的思维逻辑翻译下来,这个先后顺序一定要搞清楚。

如果你上来就已经假定自己是一名行业内的程序员,你去选择自己合适的工具,那这是非常愚蠢的,因为你都不知道你会遇到什么问题,你甚至连编程是什么你都不知道。

所以我的建议小白,如果你对IT领域确实感兴趣,那如何快速学会编程,先进到这个领域当中去,这才是最关键的。

 

1.上手开发程序时间快

我见到有人在网上说“Ppython如何鸡肋、辣鸡”,这是非常愚蠢的,无论如无论别人怎么喷Python,最不应该跟风喷Python的就是小白。

因为你想快速把你自己的编程逻辑用某种语言给实现出来,Python绝对是小白的一个首选。

学Python你一个月你就可以立马去写程序了,这对小白来说是非常友好的,那你应该选择一门能够快速上手开发程序,然后再了解了这个编程是什么,最后再去讨论应该选择python这种工具还是换成其他的工具。

与其一上来就选择一门比较重型的语言,然后长期徘徊在入门级别而不能上手去写程序,最终因为你毅力不足而导致而选择放弃,倒不如选一门容易上手的编程语言。

我觉得你自己应该有答案。

2.掌握一门编程语言,其他也容易触类旁通

我想到我大学的一个往事,我大学有一个C语言老师,他在讲课的过程当中比较喜欢这个吹吹皮。然后他打开那个腾讯QQ,他说腾讯QQ里面就有一段他写的程序......并且很自信地说“他说我不客气地讲哈,任何一门语言给我一个星期我都能掌握了。”

那我当时就觉得这个人比较能装,但后来随着我一点儿一点儿去研究技术,我会发现真的是这样,你学会了一种工具,你再去学其他的工具都会有触类旁通的一个效果。

因为要时刻牢记你学的是编程,等到你会了编程以后,换一门语说白了就是把你实现编程的工具由一种换了另外一种,这是非常简单的一件事儿。

当然,深入学习所有的这个语言你都会觉得难,为啥呢?因为语言它是一门工具,深入学习下去就不是在研究工具了,是在寻求如何高效解决问题的办法。

说白了,你此时遇到的问题可能是多种多样的,某一种语言它也不能完全解决你所有的问题,你可能需要多种语言配合的来解决你的问题。

所以我们常说,一名合格的程序员应该至少掌握两门语言。

但问题是这跟小白有什么关系呢?

小白有没有足够的毅力跟能力同时掌握几门语言?这是个因人而异的问题。

如果说你自己根正苗红计算机专业毕业的,你计算机基础知识比较扎实,或者说你对自己的意志力和学习能力足够的自信,那你优先选择什么语言,我觉得都可以进入到互联网开发领域中来。

如果不是,那其实我推荐小白以python这种容易上手的这种工具为基础,快速地掌握编程,然后再横向地去学习其他的工具。

 

3.考虑职场待遇、竞争和前景

编程小白还需要考虑的一个问题就是竞争压力与个人优势。

以Java为例,与Python进行对比。Java火的时间比较久,因为它是早期的跨平台性的语言,很多公司早期都是用java来进行开发的,然后就导致了java的人才基数越来越多。

很多时候公司选用一种编程语言,它并不只是考虑这门语言本身的一个优劣,它还会考虑这门语言的人才基数有多大。毫无疑问,现在市面上最多的程序员就是java程序员

那么请问小白,如果想通过类似Java这种老牌语言入行的话,你的职场会面临什么?

第一,你的竞争对手可都是那些有四五年甚至更多年工作经验的人,那你的竞争力何在?

第二,假设你入行了,那你将要面对的是初级岗位的低待遇以及低薪资,而对于类似Python这种新兴语言来说,毫无疑问岗位肯定不如Java要多,因为加了毕竟发展了那么多年,但是Python的岗位量保持持续的一个上涨,那这是一定的。

从python的一个使用量的世界排名你就能看得出来啊,从2017年到现在,连夺4年的年度最受欢迎编程语言排行榜冠军,其实恰恰是因为此时并没有那么多人去掌握python,那这才是我们小白入行的一个绝佳的机会啊。

入行薪资比Java高,这也是摆在明面上,大家可以去各大招聘网站上查得到。

那问一下,谁不想一入行就起点高一点嘛?

那对于小白来说,你不打差异化你又能打什么呢?

有人说python的流行是因为咱国内培训机构的宣传造势,针对这个观点呢,我只想说一句:

“您太看得起咱国内培训机构对全世界的影响力了吧?”

咱来看一组数据,用数据来进行一个客观的分析,尽量避免一些主观的认知错误。

首先咱来看一下Python的世界排名,一九年、二零年稳居世界第三,然后世界占有率是百分之十,这已经非常高啊。咱可以看到一下其他的编程语言就1%和百分之零点几的都有,这还是属于前二十的排名前二十的编程语言世界占有率的情况。

2021年TIOBE发布的年度编程语言

 

再来看一下python历年世界排名的一个增长情况来看,Python一直处于一个向上增长的趋势直到今天增长为排名世界第三。

再来看每年评选的一个年度编程语言的情况,2007、2010、2017、2018、2019年多次上榜年度最受欢迎的编程语言,2020年连续4年登上年度最受欢迎编程语言第一名,甚至在去年11月份的时候,Python超越了Java登上了排行榜第二名,出现了三十多年从未发生过的事情,如果说未来跟Java互换位置也不是没有可能,有这种趋势。

Top 10 编程语言 TIOBE 指数走势(2002-2020)

 

我来问大家两个问题。

第一个问题,是不是全世界的程序员都被咱国内的培训机构忽悠了?

第二个问题,你可能会说,我一直讲的都是世界排名,可能Python只是在国外用的比较多呀,在我们国内用的比较少。

那你告诉我,你哪一种编程语言不是先从国外火起来,然后在我们国内再效仿着使用的?有一个算一个,Java是不是先从国外火起来的?C是不是?C++是不是?

说白了,这些编程语言的原产地都是国外,都是先从国外用起来,然后再推广到国内的。python,的世界占有率那么大,世界上都在广泛使用,你觉得国内接下来不会广泛使用吗?

不管未来怎么样,当下更多的还是国外在影响着咱国内的技术总下。

 

毫无疑问,任何一门新技术的引入必然会冲击到老基础,褒贬不一那是肯定的。但是作为一名技术人员,你如果没有一点点前瞻性,那你凭什么走在别人前面?

希望大家是通过数据来得到客观的答案,而不是站在自己狭隘的立场里主观的下结论说“我觉得A不行、B用的不多”、”C在世界的大火是被培训机构宣传起来的”。

培训机构从来只是技术趋势的跟随者,而不是创造者。

所以请跳出你的主观臆断,你只代表你自己,你左右不了世界排名,你更代表不了世界占有率。

希望看完文章的同学,你要有自己科学的分析,而不是只听自己愿意听的。

 

比起劝你学或不学的言论,动手反而更能让你感到舒适与安逸。

我们普通人的出路除了学习,你说还有啥?难道是继承别人家的家产吗?

 

我从郭老师的团队里的一些程序员老司机要到了一些Python干货,有46节Python的入门课视频、Python电子书和Python学习方向导图等等干货,现在免费送给大家,有需要的话可以加我微信“pykf20”,备注一下“领资料”即可,我看到了就会给你们发过去。

 

 


转载:https://blog.csdn.net/zhiguigu/article/details/113396219
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场