Python,请大家辩证看待。
今天的内容比较逆耳,主要是针对市场大环境有感而发,聊一聊当前存在的一些问题,并非让大家不要学我在数据分析行业中浸淫了十年之久,从接触数据分析开始就学习了很多编程语言,其中就包括现在大火的python,也有很多人在转行数据分析之前都来问我要不要学python。
而我的回答一直都是:“如果对于编程语言没有基础,不要以python作为自己的数据分析入门语言!”
也就是说,Python可以学,但不要把python当作未来可以找工作、挣钱的跳板,而这是目前很多人都存在的一大误区。
至于原因,且听我慢慢道来。
大火的Python,其实背后大有玄机
近几年python火的有点过头了,从2014年到现在不过6年的时间,python就从一门极为小众的语言,成长为了世界最流行的编程语言,攀升速度不可谓不快!
下面这张图可以看出python的流行态势之猛烈:
2018年开始,python莫名在这一年大火,以每年超过5%的速度发展,编程语言排名也在一年内蹿升13名,直到今天,python的上升速度虽有拖后,但是仍然有着竞争世界第一流行编程语言的潜力。
什么原因造成了python的大火呢?python又为什么会在这么短的时间内爆火呢?
除了python作为胶水语言本身的优点之外,比如比C++/JAVA简单易学、开发社区更加稳定等,与资本的疯狂推动也是抛不开关系的。
前些年java大火的时候,整个市场上铺天盖地上都是“java入门培训”,直到现在也没消停,是编程语言培训行业的常青树。
python的情况也类似,资本市场向来都是哪里有韭菜去哪里,眼看着java、C++没有市场了,于是一只看不见的手就开始推动python。
市场吹得多了,那些企业也就都懵了,数据分析、人工智能这些岗位也都井喷出来了,想一想之前的C++不也是这种情况吗?
所以对于Python这些铺天盖地的广告,我的建议还是要结合自身的需求:
想要做个程序员,学C++/Java/PHP这些语言,哪一个不比python香?如果是想从事数据分析相关的工作,python也不是最佳的支撑工具,市场上的数据分析专业工具都可以替代python的大部分工作内容。
为什么我不建议你学python?
1、语言性能差
现在Python看似很火!但实际上Python语言的严谨性和稳定性根本和C++无法比!
对于一名C++老手来说,速度上也根本不具有可比性!一个专业的程序员,写个C++能用1秒解决问题,用Python可能就需要十几秒,下图的编程语言速度可见一斑,python编写一个字符串的速度简直低到令人发指。
2、语法混乱
就举一个例子,python2与python3这两个语言版本之间竟然互不支持,这是我在学习其他编程语言当中从来没见过的。
3、市场混乱
现在国内所谓的Python培训高薪就业啥的,其实大部分都是骗人的,想学习编程,千万别入Python这个坑,老老实实学习C\C++\JAVA\PHP 才是正道,想入门数据分析,请先把Excel和SQL学精通。
4、工作前景不好
那些网上鼓吹的“学会python就能找到好工作”,这纯属就是个伪命题。如果是从一个资深程序员的视角出发,实在不建议你将Python作为一种职业,从功利性的角度出发,你学完Python之后想找一份满意的工作,也不容易。
而且随着人工智能光环的褪去,业务落地变现困难,人工智能/机器学习工程师的岗位趋近于饱和,工作越来越难找。
之所以不建议从事Python的问题在于,你以为从事Python是门轻松的事情,然而却选择了条艰难的不归之路。
5、成长性不高
以下为一位程序员的观点:
“不得不说,在从事Python的几年中,每天都在朝九晚六中度过,还时不时要找点事情做。虽然薪水没有Java大佬们那么高,然而生活还是过得有滋有味。
为什么呢?Python效率是高的,效率有多高,直接pip装个包就好了。这样的语言虽然简单易用,但是并没有任何的成长性。”
6、python并不适合入门
Ruby、Python、JS这些脚本语言本身都差不多,没有说哪个更简单,Python 大部分是因为近些年机器学习和人工智能概念的兴起,Python 也随之热门起来。
但是如果论最简单的话,我觉得 js 最简单的方法,现在打开浏览器,在控制台写入:alert("hello world") ,这样就已经入门了 js了。如果是 Python 现在你可能还在忙着配置编程环境呢。
结语
对于Python,建议可以学习下,毕竟技多不压身,在一些场景下也挺好使的。但是如果想靠他找到份工作就要谨慎些。毕竟,决定你工资的是你的稀缺程度,如果没有业务的支撑,即使你再精通也是瞎扯。
如果是想入行数据分析,还是建议先把统计学等基础打牢固,想要通过学习Python直接一步登天,还是难了点。
原文地址:https://mp.weixin.qq.com/s/B0cKKMEeWMgJMG8Q8uB1GQ