层出不穷的编程语言
编程语言实在太多了,并且往往与市场行情密切相关。
语言如此之多,各大公司或者开源组织也在不断的推陈出新,要么在以前的语言上不断增加新功能,要么发明新语言。
作为一个开发者,如何面对语言的不断更新迭代?是要不断地追求潮流,还是无论形势如何变化,我自岿然不动?
精通一门语言
俗话说:千招会不会一招熟。会一千种语言,每种语言都只学个半吊子,不如精通一门语言。
首先,几乎所有的现代高级编程语言都有一些典型的共同特征,例如:
- 都有一个基本数据类型的集合(比如java是8种基本数据类型);
- 都有类型转换、类型推断、类型安全方面的机制;
- 都是顺序、选择、循环三种语句类型;
- 都有类、对象、封装、继承、多态(如果是面向对象的);
- 都有一个常用数据结构的库(数组、栈、队列、链表、Hash…);
- 都有一个常用的I/O库;
- 都有一个常用的线程库(协程库);
…
精通一门语言,也就很容易举一反三,学习另外一门。
此外,语言背后都对应着相应的实现原理。这些原理上的差异也对应了为什么有些语言适合某些特定的业务场景。要精通一门语言,需要去不断的探究背后的实现原理。 - 学习Java,除了会用Java的各种库,对JVM的原理、类加载机制、锁的实现、线程的原理、I/O原理都需要很好的理解;
…
在精通一门语言的同时,再触类旁通其他语言,这样对语言环节就会有深刻而全面的理解。