随风
对于java的认识,我一开始极其的讨厌。原因很多,更多的原因其实是因为我学习的第一门语言是c++,对于java的语言风格我总是觉得不太适应,而且我那时候认识到了go语言,对于java我总是不屑一顾,觉得它垂垂老矣,没有什么可学的。
这种思维一直延续下去,我很固执,甚至因此和队友争吵起来,坚决否定java的优势。我认为云原生时代,作为一次编译,到处运行的许诺早已经落后于时代。docker的崛起已经使得jvm中间体系所带来的跨平台优势不再重要。关键的是go语言本身的交叉编译能力很强,跨平台这点优势不足以成为我选择java的理由。
然而事实极其打脸,后来的我不得不承认了java,甚至成为了主要开发工具。java固然不简单,但是java的思路是清晰的,我们不得不承认在大型开发中,java的oop机制确实让人头脑清晰而且各种诸如idea的工具也使得开发效率极高,说白是因为我懒,喜欢搬运代码。
但我也意识到java作为编程语言它确实不算优秀,与rust和go等新秀比起来java语言本身确实老气横秋。因为java的抽象机制并不总是有益处的,更多时候造成了代码膨胀和编写困难。因此rust和go语言已经没有类这个概念了。相比于简单而灵活的c语言,java又是十分呆板的代表。注解和各种横行霸道的xml配置,java简单已然不复存在。正所谓人生苦短我学python,在实验室等追求极致速度的地方,许多算法程序java已经没有了身影,高的门槛却低的回报使很多人望而止步。
正如刘汝佳算法入门的书里所说的,java作为一门编程语言好坏参半,甚至混杂着各种坏味道,但是从来没有人敢否认java平台的成功,java是一套技术体系的,其中的jvm可以运行各种字节码编程语言,例如新秀kotlin,java还定义了一整套完备的技术标准,使得web时代加速走进我们,也许我们不敢相信,jsp这种近乎绝迹的东西,当时是如何地风靡一时,就如flash一般。
末尾小编想说,任何事物都有存在的理由,我们不能过于凭自己的喜欢而否定或者赞同某一样东西,小编在实验室工作之余经常感慨现在的人越来越功利了,也许创万联开源组织是我们这些技术人最后的净土吧。