老程序员来给你解析为啥python成为“网红”背后的原因
扫描二维码
随时随地手机看文章
近日,2018年最具就业前景的7大编程语言排行榜出炉了。这次的编程语言排行榜是由CodingDojo(编码道场)发布。在此次的最有“钱”途的编程语言榜单上,Java排名第一,网红编程语言Python排名第二,JavaScript排名第三。Python简直可以评得上2017年网红编程的语言,在此次榜单上,它又火了一把。Python加入浙江省高考,而且还成为了山东省小学生教材。
小学生都开始学的编程语言,你敢说它未来几年不火呢?这多半也是由于:未来是AI的时代,Python语言是最接近人工智能的语言。
用python已经不是装逼了确实没有错,未来10年,如果不是python/ruby这样的语言发展的时机,那会是什么语言?主要从以下几点来看待。
1. 兼容性问题
从python2到3的问题让不少人寒了心,但guido坚持要这样做,因为他认为这是python追求简单优雅所必须要做的。对于没有历史包袱的项目来说,直接选择用python3肯定是明智的。这也是为什么我前几篇文章都是对于2的学习,经过2的学习,可以为你接触三打好基础,并且是对于程序的可移植性与普及性,但是对于已有项目,2to3、six这样的工具也是可以解决绝大部分问题。
对于活跃的开源项目,小的兼容性问题不容易成为项目发展的瓶颈。而对于不活跃或者设计较差的项目,即使是使用其它语言,时间长了,也一般不会是兼容性影响它的使用。
如果说,你想写一个完美的能立即稳定下来并且再也不需要维护的软件,那还是用C语言吧(换言之,这样的东西python里不都是用C写的吗)
总的来说,我个人确实没怎么在python上吃过兼容性的亏,反而对C++大包大揽时留下的坑深恶痛绝。
2. python的库恶心?
在我接触到python时,说实话就已经被里面的库所俘获了,不单单是库,而且有python简洁的编译环境,以及信手拈来的方法,要是说库恶性,不好意思,哪个库?有C++的库恶心吗,有java的库恶心吗?
3. python的使用场合
前面已经说过,guido是个有理想的人,他希望python在任何一个领域都能牛逼起来,所以python才会强调简单、通用,让你干啥都能想到它。在实际上,python也未能做到处处通杀,甚至还没能做到在某个领域的权威(在云计算领域,python应该已经快了),基于语言本身的特点,目前在运维、大数据、云计算、web、科学计算上都还混得可以。
4. 找工作
积重难返,python更多的会在某种口味的创业团队使用,国内的大公司虽然不大会直接招python程序员,像有些人说的那样。但这会让你成为进入某些团队的敲门砖,从社区上的招聘广告来看,虽然大部分的岗位需求是web后台和运维系统开发的,但web后台又有大部分是要求django的。
python的水不深,单靠对语言本身的考察,难以分清水平高低,于是,要么需要你有丰富的经验,要么你有坚强的毅力(比如C++学得很好)
最后,补充下,我在windows下用python(除了靠python在淘宝上秒杀了个手机),但每次一用就觉得别扭,也许这也是需要考虑的部分吧。
5. 逼格
(1) 用什么语言都不能证明逼格,包括汇编,也包括lisp/haskell。
(2) 在适当的场合用适当的工具,解除耦合、减少重复、易于扩展才是对逼格的更高挑战。
比如有一组件对数据库有大量操作,有人认为他要用C++模板元编程加上一些巧妙的设计模式来生成sql是逼格高的体现,我认为在这样的场景下至少要用上orm才能谈得上对逼格有要求。
大胆预测,10年后,python程序员一定会更多,python一定会使用得更广泛得多。