三年Java经验--或多或少

  07年,大三,我第一次在课本上了解了Java,它给我的第一印象是幽默、优雅。为什么会有这样的印像呢?首先,是一罐Bean引起的,那是某个j2ee服务器工具栏的一个图栏,用于表示web容器的状态。然后一颗Bean,表示的是一个web对象的状态。其它细节不记得太多了。为何优雅呢?我想程序员心中都有一个可怕的魔鬼,那就是指针,C语言里的指针。是否大家第一次学指针都被老师吓到过,老师还没上课就会如下云云:大家注意了,这一章节很难、很关键。。。等等。然后是一大堆算法、还有释放内存等,让人觉得非强人学不得这东西一样。其它,我把我的看法先说前面:这些其它都很简单!

  Java没有这样吓我,至少对于我,它没吓我,整个学习过程我是在轻松、享受中度过的,这里我非常感谢写《Thanking in java》的作者。我不太会解释优雅到底是什么,但是我觉得用这个词很能形容我学习的心情。

  我很不喜欢一些作者把Java的一些特点或内容写的神乎其神,比如多态、比如继承。我是这么觉得的,一个好的设计,尤其是一门让别人经常使用的语言,接口(特指程序与程序员的交互部分)简单、容易理解、没分歧是必须的。举个例子:如果你觉得不能理解多态是什么,那么我说下我的看法,学Java你不用知道多态到底是什么,甚至你不知道这个词,但我可以保证,你一样能把Java学得很好。为什么呢?多态本身这个词就很抽象、不具体;换句话说,有其它更具体的、更简单的概念可以替换它。怎么样、比如说重载、覆写。如说是初学者,你可能不了解这个概念,我在这里保证,这些概念相当简单。

  Java 的优点真是很多,跨平台、可移植、对实现细节的完美封装、白话文一样的语法限定(小驼峰模式、英文全名)、简单无歧义的语法特性等(如接口、类、单继承结构等)。这些优点都是很能认人快速喜欢上这门语言的;不过我这里不得不提一下Java的一些缺点,不知道是很巧还是怎么的,我觉得Java的每一个优点背后几乎都隐藏着某些“硬伤”。举例说:跨平台没有虚拟机就什么也做不了、可移植也同样。细节的封装可能会让很多Java程序员几年内都很难理解得更深,对一些细节功能更是不知道如何下手,举个简单例子,要跟踪记录鼠标的行动,很少有Java程序员能够反映过来。Java就是这样,感觉很容易让人沉醉在其中,却也很难让自己学得更多、更广,因为走出了Java的范围,就很难让自己适应。

  

  学习Java与学习C的方式很不一样,当然,我学C只是学了个皮毛,大不了看得懂代码,但我周边确实有好多学习C的。我说下我的体会,也可以给刚步入程序设计的朋友提供些参考。先提一个成语:学以致用。学了就是为了用,学习Java与学习C不一样个人觉得还是它们的应用领域不一样。如果大家觉得C语言是一种比较合适跟各种操作系统、硬件设备打交道的语言;那么Java是一种比较容易把程序员的创意变成现实的语言。所以Java的语法非常接近白话文,即使是变量的定义,也基本上是英文合称,编写Java代码的人首先应该抱着一种“写作”的心态,这样才能体会到Java人性、优雅的设计。再回来说学习方式,学习C语言,在初学时专精很重要。比如,我周围有一些个同事专问研究电源、也有专门研究存储卡、也有人专门研究搜索算法、比对算法等各种各样一干就是一两年,甚至更久。所以,如果你打算做这方面一定要做好心理准备,一定要打算好在这方面做得最好。学习Java很不一样,首先我觉得Java最近用得最多的两个领域是:互联网跟移动手机Android。其它下文不用多讲,大家应该能体会在这些行业中的创意、丰富多彩。所以学习Java,尤其是初学习一定要学得广,可以不那么懂操作系统、文件系统、数据库系统、网络通信、算法理论。随便说说,如果得醉了达人,还请见谅。觉得广有好处,学广了之后,能够把握全局、能为自己选择还具潜力的发展方法、打个玩笑:如果你能提早预知Java这个行业没前途,那么,你可以早早地退出。如果你某天要想精通某一领域,或是发现某一领域你很有兴趣,那么我相信之前对整个“机器世界”的广泛了解对之后攻专也会有很大帮助。

  如果某天你觉得Java没什么好学的了,即使觉得某些方面还未精通,那么我觉得那时应当大胆地走出Java去,适应一下其它语言。我自已感觉我就在慢慢走出Java的世界。Java这个东西不适合深入学习,个人的体会是这样的,对于底层的东西或网络通信方面的东西,反正跟机器打交道的东西,从C语言入手应当是一种了解、撑握的捷径。

  此外,那就是设计模式,我觉得学Java一定得顺便学好这个。在Java程序设计过程中,可以有暂时不精僻的算法,可以有自已做不出来保留的模块,但一定要能轻松替换或植入这些东西。

  不知道是否有人看到我这遍文章,不知道大家感觉如何,是否感觉Java很不错?


欢迎访问我的博客: http://www.zhutibo.com/action/article456.htm


posted @ 2012-06-04 12:21  java例子  阅读(736)  评论(0编辑  收藏  举报