我经常自诩是个 Java 出身的程序员,虽然实际情况确实如此,但随着时间推移,说这句话越来越没了底气。




以前作为 Java 程序员,我是很自豪的,原因呢?可能只是因为 Java 本身的市场占比。

后来因为工作原因接触了 Python,并逐渐成为主力语言,Java 就慢慢从我的开发生活中淡出了,这次的原因呢?好吧,我已经不想在用打印 Hello World 这个玩笑来自嘲了。

在这个过程中,我接触了 Ruby、NodeJS、Go。他们每个都比 Java 简洁,比 Java 更有效率。我沉醉于吸收新语言,觉得这是在给自己修炼各种劳作工具,免得遇到各种问题都只能想到 Java 这一把“锤子”来解决问题。

那是什么时候出现问题了呢?大概是从面对 Java 代码越来越陌生开始的吧。

还记得两年前,我还会关注 Java 8 新特性,一位前辈看到后说,还看什么 Java 啊,开发语言发展到现在,Java 跟其他相比,只是在浪费你的工作时间和拖慢你的电脑。我当时还义正言辞的说,虽然不常用了,但必须要多关注动态。

不过好像也就是说说而已,此后无数次的想要用 Java 写点东西,都被它的繁琐累赘所阻挠,是啊,有了更简洁的语言,为什么还要浪费时间用 Java 来写呢。

导致的结果就是,现在越来越不会写 Java 了,每次重整旗鼓,都会被包的导入这种小事情纠结半天。真的是因为太久不写了吗?

最近我常常在想这个问题,从 Python 开始,我每次接触新语言就会非常重视基础,因为当初学 Java 时就是这样的,我坚信不管学什么东西,基础都是最重要的。

我不断的回忆学 Java 的一些细节,我逐渐发现当时的基础其实并没有学好,我只是以为学好了而已,因为在以前,我从来没有深究过编译整个项目时 javac 的编译逻辑,我也没有深究过 public 明明已经可以像其它语言一样可以对参数赋值读取,却还要使用 private 再配上 set, get 方法。

我只是跟网上很多人一样,这是规范,这样用就好了,反正有 IDE,他就帮你编译打包了,你关注业务逻辑就行了。

所以我不断的练习 System.out.println("Hello World") 的编写,我不断的重复 set, get 的熟练度,我告诉自己熟能生巧,这样就对了。

所以我既没有把这些知识搞明明白白后存在大脑,也没有把它记录在博客上供以后查阅,我只把它交给了肌肉记忆。

重新燃起学习 Java 的欲望,是因为最近 Java 11 更新了,很多新特性,一个免编译运行单文件的新特性,更是让它显得不那么 Java 了,并且它是继 Java 8 后又一个长期维护版本,文章最后一句话是“如果你要入门 Java,这会是个不错的版本”。

好吧,我想我是属于那个重新入门 Java 的的老鸟了。

这次我不在借助 IDE,而是用 Vim 一点一点弄懂它的编译逻辑。

这次我会弄清楚更多的基础内容并把它记录在博客里,存在大脑里。

这次我希望在跟别人说,我是 Java 出身时,显得更有底气。

03-16 16:53