极客时间hongfenghuoju/12163[2018/8/817:45:36]02|初惑:技术方向的选择2018-08-06胡峰初入职场或还在校的同学想必都会有些共同的疑惑,比如:“到底我该选哪个技术方向?”“现在该学哪门语言?”“未来Java语言的发展趋势如何?”这些问题的本质其实都是技术的投资决策问题,也即现在我该把时间精力花在哪个方向上,未来的收益才可能最大。这个问题并不好回答,因为这个问题的本质和“我现在应该投资哪只股票”一样。没有人能回答好这个问题,我觉得最好的做法就是:从投资的出发点而非终点来选择一条路径。至于这样选择的路径是否能在未来获得很好的收益,这是没法预测的。但选择技术方向和选择股票不同的是,只要你在这条路径上持续努力、学习与进步,基本可以保证能和“大盘”持平而不至于有亏损,但是否能取得超过“大盘”的收益,其实是看运气的。选择语言选择技术方向,从某种意义上讲就是选择语言。虽然有一些流传的说法,类似于:“语言并不重要,必要的时候可以在各种语言间自由切换。”但实际情况是,能做到自由切换的前提是你得对一门语言掌握到通透之后,再学习其他语言才可能触类旁通。计算机程序语言虽然很多,但种类其实有限。2018TIOBE程序语言排行榜(见下图)上的前三位(Java、C、C++),本质上其实是一类语言。但大部分人只能选择去熟悉并通透其中一种,因为这些语言背后都有庞大的生态圈。02|初惑:技术方向的选择胡峰-00:00/09:51极客时间hongfenghuoju/12163[2018/8/817:45:36]2018TIOBE程序语言排行榜要做到通透,只熟悉语言本身是远远不够的,其实是要熟悉整个生态圈。而三门语言中最年轻的Java都有二十多年历史了,足够你耗费数年时光去熟悉其整个生态圈,而且目前其生态圈还处在不断扩张的状态,展现出一种蓬勃的生命力。那么,要是我来选,我会如何选择语言呢?我会选择那些展现出蓬勃生命力的语言。但其实十多年前我只是凑巧选择了Java,它就像是被潮水推到我脚边的漂流瓶,顺手捡了起来。没想到居然蓬勃地发展了十多年,还没见衰退迹象。那时的Java刚诞生不过七八年,和今天的Go语言很像。Go语言在排行榜上的位置蹿升得很快,而且在云计算时代的基础设施上大放异彩,号称是:易用性要超越PHP,而性能要超越Java。那么在Java之前我学的是什么?是VisualBasic、ASP和Delphi/ObjectPascal。我想今天不少年轻的程序员都未必听过这些语言了。但神奇的是,在TIOBE的排行榜上,VB加了个.NET排名竟在世界最广泛的Web语言P...