有些初入职场或还在学校的同学总问,到底我该选哪个技术方向?我现在该学哪门语言?你觉得未来 Java 的发展趋势如何?这些问题的本质其实都是技术的投资决策问题,也即现在我该把时间精力花在哪个方向上,未来的受益才可能最大?

这个问题并不好回答,因为这个问题的本质和“我现在应该投资哪只股票?”一样。没有人能回答好这个问题,回答这类问题最好的方式,我觉得就是从投资的出发点而非终点来选择一条路径。至于这样选择的一条路径是否能获得很好的未来收益,这个是没法预测的。但选择技术方向和选择股票不同的是,只要你在一个路径上持续努力、学习和进步,可以保障能和「大盘」持平而不至于有亏损,但是否能取得远超「大盘」的收益,其实是看运气的。

选择语言

现在选择技术方向,从某种意义上讲就是选择语言。虽然有一些大牛的说法是,语言并不重要,必要的时候可以在各种语言间自由切换。但实际情况是,能做到自由切换的前提是你得对一门语言掌握到通透之后,再学习其他语言才可能触类旁通。

计算机的程序语言虽然很多,但种类其实有限。2017 TIBOE 程序语言排行榜上的前三位:Java、C、C++,本质上其实是一类语言。但大部分人只能选择去熟悉并通透一种,因为围绕这些语言背后都有庞大的生态圈。要做到通透,只熟悉语言本身是远远不够的,其实是要熟悉整个生态圈。而三门语言中最年轻的 Java 都有二十多年历史了,足够你耗费数年时光去熟悉其整个生态圈,而且目前其生态圈还处在不断扩展状态,显示出一种蓬勃的生命力。

所以,若是我自己要如何选语言?我会选择那些显示出有蓬勃生命力的语言,但其实十多年前我只是凑巧选到了 Java,它就像是被潮水推到我脚边的漂流瓶,顺手捡了起来。没想到居然蓬勃的发展了十多年,还没见衰退迹象。那时的 Java 刚诞生不过七八年,和今天的 Go 语言很像。Go 语言在排行榜上的位置蹿升的很快,而且在云计算时代的基础设施上大放异彩,号称是:易用性要超越 PHP,而性能要超越 Java。

那么在 Java 之前我学的是什么?是 Visual Basic、ASP 和 Delphi/Object Pascal。我想今天不少年轻的程序员未必听过这些语言了。但神奇的是,在 TIBOE 的排行榜上 VB 加了个 .NET 排名尚在世界最广泛的 Web 语言 PHP 和 Javascript 之上。而 15 年前我用的 Delphi/Object Pascal 居然也仅次于 Javascript 之后,远高于 Go,Objective-C,力压 Swift。

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式