很久之前,就隐约觉得Java有些俗气。
学好C之前,人是没有资格写带图形界面的程序的。你知道面向对象吗?你知道鸡优挨吗?写界面?想都别想。来大学的第一堂课,老师让在屏幕上用C语言敲出“你好,世界”,那是一种很神奇的体验。那也是很多人人生的第一份代码,第一发程序。
之后的体验,大抵就是在谭浩强的带领下,进入了一个全新的世界,一个黑框框,一个连C99标准都支持不全的VC6.0, 就是全部了。有那么一段时间,会觉得非常灰暗。试想,整天做着课后习题,满头大汗的敲完一段,编译运行,不是满屏词法语法错误,就是内存溢出满屏烫烫烫,人的忍耐是有限度的。
有那么一天,第二学期来了,在室友的屏幕上,看到编译运行后鲜艳的窗口程序,我反而异常平静。
境界提升是一方面,最重要的原因是,我知道我会在很长一段时间里写着C,要知道,用C写着课后习题可不算程序员。这种行为时时刻刻透着一股新手味儿。
至于那种用C写的,宏定义满天飞,void*** 指针满天飞,结构体指针数组满天飞的,能实现看着就激动人心的功能,还带有漂亮文档的开源代码,我只在GitHub等网站上见过一些,我知道还有些更好的C代码,但是现在不是读的时候,就让他们神秘的放在那里。
其实优秀程序员一直离不开C,一套套完整的组件,小的叫模块,大的叫系统,引擎,用C实现了,再用LaTex写一份漂漂亮亮的文档,上传,开源,一气呵成。用比较流行的话说,就是醉了。
然而对于新手,C是发挥不出这样的威力的,很长一段时间了,C和新手碰到一起,就是菜鸟的代名词。
我没有意识到的是,web时代和移动互联的时代就这么干净利落来了。
在书店,你已经可以找到类似于《XX天精通Android开发》的书籍了,不温不火的Java好像又这么燃烧了起来。
有一天,我在京东上看到了一本《Android 4高级编程》,我买书都会看看评论,当时的评论都还不错,最终让我买下它的原因是,有一条评论这么说着:Java适合新手。就这么一个说法,稍微影响了我一阵子。
Java大潮袭来了,上课去的时候,总能在教室后排找到一些带着电脑打算敲代码的同学,经过他们的时候,会看见他们的桌面上开着MyEclipse,那是一个很神奇的开发环境,可以开发Android程序,然后一般情况下,他们的开发环境里是一个刚刚新建立的示例工程,并没有一行自己写的代码,等我落座,开始上课了,他们会逮住旁边的同学,开始大谈移动互联的未来,谈社交网络的生态,谈Android底层,时不时慷慨激昂,时不时扼腕叹息。
就差一箱啤酒两盘烧烤了。
用比较流行的话说,就是醉了。
满天飞了一节课的唾沫,及至下课,走过去看看,依然是新建立的示例工程,并没有一行自己写的代码。
走出教室的时候,我已经隐约厌恶Java了,恨乌及屋,其实直到一年后,我看完了C++的入门经典,以及侯捷大师的两本译著,却连当时买的那本《Android 4高级编程》的塑封都没有拆,就那么送人了。
想想也是,走过了新手必爬的那些坑,就知道还是基础重要,动规回溯,贪心分治,这些东西都熟。孤舟蓑笠翁,独钓寒江雪,学习的事靠自己。
以我的性格,该吐槽的吐槽,该喷的喷,后来周围的人都知道我对Java的“感觉”。我注意到,认真写Java的人也很有成效,但是也免不了有些半途而废的,当然,哪些人学Java,我都不记得了。
不依靠开发环境,纯手写的话,我的Java水平一直停留在 “你好,世界” 的水平,但如果今后某个时间有了对Java的需求,那我大抵是不排斥的。
我想以后毕业,没人会记得一个C++程序员黑Java的事了。
因为大抵上,Java已经在夕阳中了。
————
以上属于胡扯。
文章写于很久之前了,当时旁敲侧击的黑一下整天拿Java装比的二笔程序员,于是写了这篇文,观点不要当真,甚至本文也不能代表本人现在的观点。
并没有黑Java的意思