Job

Python 的前景和学习方向

本文整理自我在这个问题里的回答。相比原版回答,结尾部分添加了若干私货。

Python 在语法上算是比较简单易学,相对其他各种语言,对新手更加友好,学习曲线非常平缓。各种算法用 Python 来实现都相对来说更加简单又易读。

因此,有一种趋势,就是很多像我这种外行人,开始学习和使用 Python 来实现某些自己行业内的某些用途。所以现在 Python 有很多新制作的各种轮子,深度学习,数理统计,化学计算,量化交易,等等。但像我这样的人往往可能也像我一样,学得很浅,就能凑合着拿一些框架和模块来应对简单的工作,也就可能像我一样不再太深入探索,而觉得自己掌握的基本够用了。

此外,在涉及到性能敏感的应用场景,Python 则未必能够完美胜任,甚至即便使用 cython 和 pypy 之类的加速,也难以全面实现 C++ 等的运行速度。我的一些前辈高人,在处理遥感相关的数据时还是以 C++ 为主,大概就是因为这种原因。

所以总体上看, Python 特点是学的人众多且来源复杂,学起来简单却易学难精,轮子众多但质量良莠不一,且熟悉轮子有时候需要比语言学习更多很多的精力。

这会导致一种什么情况呢? 会有很多新人试图通过学习 Python 来作为起步的语言,进入计算机相关行业。而人群中往往只有少数人是足够努力的。这就可能会导致在 Python 使用圈子中,低层次甚至像我这种初级水平的超低层次开发者,逐渐增多并且可能会占到多数。

而且由于像我这种低水平的人对深入探索感到吃力,可能更乐于追捧一些自己在网络上看到的所谓“热点”。比如可能看见某些社交平台上遮天蔽日的各种爬虫相关,就以为 Python 最适合来做这个,对其他方面就不怎么太上心了。再比如,看到某些大号发给新人的转行指南,加之以少数通过努力成功赚到第一桶金的先行者的分享,就也可能痴迷 flask,并以此作为主攻方向。

这并没有什么问题,这都是人的自由选择,只是这些选择往往建立在跟从的基础上,因为往往没有太多人愿意选择前途未卜的自行探索之路,更愿意遵从同类已探索出来的安全道路。

这种扎堆的情况会导致某些方面的人满为患,并且在短期内会极大降低 Python 开发者平均的薪酬和业内评价,可能会让市场上产生一种偏见,认为 Python 是外行转行、低水平开发者、低薪酬的代名词。

注意,作为一名外行的超低水平开发者,并我不是说爬虫和flask代表了低技术水平,只是说聚集的新人太多会容易拉低平均水平。

那有什么推荐的思路么?还真有。 我建议大家可以考虑一下结合自己的专业,来把 Python 作为一个辅助工具,解决行业内的各种事,而不是扎堆挤进专业的程序员群体去参加人海中的短兵肉搏。这样能发挥自己之前所学,不至于完全从零起步,劣势不会太显著,甚至如果本行的经验比较丰富,还可能会形成某种优势。

以上就是我对 Python 学习者工作前景的认识,由于自身水平所限,非常粗浅和鄙陋,没有太大参考意义。

至于可以学习的方向,目前据我所知,有爬虫和数据采集与可视化等的数据方向,flask 和 django 之类的web方向,区块链和加密等相关的数字货币方向,tensorflow 和 pytorch等机器学习方向,用 kivy 或者 pyqt 的跨平台 GUI 开发方向,还有各种结合了学科知识的各种科学计算和实验仿真模拟的方向。

当然了,说句纯废话:Python 是一门编程语言,虽然有擅长的某些事,也基本能做差不多任何事,所以学习者在使用的时候,完全不必要限制于某几个特定方向。冷静下来,先旁观一下市场,再自己做思考,选择自己想做的,而不是看到招聘网站的广告和培训班的各种宣传就无脑认同而照做。

正如@董伟明 在 Python 技术分享的乱象中所说的那样,当前 Python 相关的圈子存在各种各样的奇葩现象。

最多的就是动不动就万事万物唯有爬虫; 或者就是随便搞来一些盗版电子书分享链接,或者抄来几句笼统的格言警句一样水的东西,堆砌在某些个回答里面,然后结尾放上自己的营销推广; 要么是招聘网站,要么是培训机构,用各种神标题来带节奏,纷纷鼓吹各种转行迅速致富月薪过万走上成功之路等等,来迷惑和煽动新人,带来各种类似成功学一样的信徒氛围。

乌烟瘴气妖魔鬼怪。

我想这里要引用我的一位师兄的话:“仰望星空,脚踏实地。” 星空是偶尔看看来辨别方向和天时的,要是每天总抬头那么看,会容易得颈椎病;而脚下的大地是每天都要触碰的,是现在一切的基础和依托,所以得留心看着点,别掉坑里面。 那么怎么留心各种坑呢? 我相信大家的智商,其实只要稍微冷静一下,还是很好筛选一下哪些声音值得听取的,分辨哪些声音背后是铜臭,而哪些声音背后是单纯的分享,这并不会很难。

而最重要的还不止于此,最重要的是专心学习,付出自己所能给出的最大程度的努力,做了就不能让自己后悔没有足够努力。

Category
Tagcloud
Download Hack Hardware DIY VirtualBox Kivy Server Moon Xcode Conda Game GlumPy Linux Mac Raspbian Book QT CUDA Photo Geology NAS Scholar Communicate Disease Hate VTK MayaVi Life Memory Hackintosh Microscope Junck Data RTL-SDR Programming Story Python Camera IDE Visualization Telescope Pyenv Chat Software Poem Radio ChromeBook Translation University Library Video Mount&Blade Lens Science GeoPython Discuss RaspberryPi Lesson VisPy