有些初入职场或还在学校的同学总问,到底我该选哪个技术方向?我现在该学哪门语言?你觉得未来 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。
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26