首先,Java是在进化的
当年Java刚出来的时候被吐槽性能烂,然后1.4出来了性能提升,至少可以接受。
被吐槽功能简单,1.5出来增加泛型,线程池,注解1.6性能提升
后来1.7又加了Try with Resource,switch String等小功能,多线程方面也有改进,性能提升,g1的gc策略。
然后1.8加入lambda, stream等功能。功能上有了很大的升级。
说明
1. Java虽然进化慢,但是的确是在进化。
2. Java进化的慢,我个人觉得是有原因的。比方说,lambda表达式真的很适合在大项目中用吗?尤其是码农水平参差不齐的时候。我个人是很喜欢lambda的,以前就用Guava来操作集合,但是也不得不承认lambda还是没有命令式的那种代码直观。对于大型项目来说这是很烦的问题,就是某些高手写的代码没有特别多的参考价值,一旦这人走人,接手的必须要懂lambda。Java是一门很工程的语言,甚至有“over-engineering”的说法。但是也正是这样,使得开发难度降低了。所以,语言的好坏,有时候还是要结合场景来看。
其次总有一两个神奇框架的出现改变命运。Spring,Android,Hadoop,Spark等都很具有代表性。
再次语言总是其次的,数据结构和算法才是根本。
我面试一些还不错的公司的时候,有的职位需要写其他语言比方Python, Ruby, C#,C++等,但是我当时是并不精通这些。面试官们并不是很在意,他们在意的是你需要精通一门后端语言+算法数据结构。所以,Java/C#,Python/Ruby, C++什么的,你至少需要精通一门