日期:2014-05-20  浏览次数:20785 次

十年总结(七):学习JAVA,爱上JAVA
十年总结-开篇:歇一歇,才能走的更远
十年总结(一):工作指数,寻找自信
十年总结(二):压力指数,只要不被压垮,压力就是动力
十年总结(三):压力指数:进京赶考
十年总结(四):在北京的第一份工作和第一个项目  
十年总结(五):自信心膨胀后,遭遇挫折  
十年总结(六):一些只开花不结果的项目,给了我学习的时间  

----
本周末要回南京参加毕业十年聚会,下周二之前估计没有更新
----

2003年以前,我是一只大大的菜鸟,凭着加倍的努力来做好跟软件相关的工作。
 
虽然我毕业于计算机系,却一度对计算机“不太信任”,对于编程,更是没有任何的驾驭感。
有一阵子学C,语法好掌握,但总是搞不清楚有哪些函数可用,
而一旦涉及到和资源交互,比如Socket通信,数据库连接,
跟着书本一步步的做,更是经常得不到想要的结果。 

大家设身处地想一想,我是通信学院毕业的,对TCP/IP协议的原理都门清,
却愣是写不出来一个稳定的C/S网络通信程序,那个WinSock让我郁闷的要死,
你说我能不抓狂吗? 

所以,当我碰到Java,并逐渐了解Java的时候,很快就被它征服了。
这就好像你在一群悍妇中寻寻觅觅,正备受打击时,
暮然回首,却见到温文尔雅,小鸟依人的她,
除了一见钟情,你还有别的选择吗?

 

像我这个年龄的人,刚上大学那阵子接触的都是286,编程从basic学起,数据结构都是Pascal版的,
毕业以后这三年,用过ASP,用过SQL,用过VB,
一直受的都是面向过程的教育,已经先入为主了,要理解面向对象,还是有那么一点障碍,
现在的学生们就幸福了,直接都是面向对象的思想。 

不过,困难是用来克服的,况且这点理念上的差异,比起过去遭受的自信心打击,那是小菜一碟。 

我之所以选择Java做了这么多年的编程语言,是因为:
1、javadoc。
我觉得Javadoc这种创新的API文档组织方式,大大缓解了学习压力。
它让我在还不熟悉Java的时候,不会充满对未知的恐慌,
因为所有可用的类、方法及其解释,都在这一份文档中。 

2、异常处理及StackTrace
出错了,能够知道完整的调用路径,大大方便了代码的调试。 

3、对Socket、数据库链接、IO、线程的良好封装。
4、有丰富的基础API,而且引入第三方API的方式很简单。



2002年秋天,公司没有什么具体活,内蒙项目在现场招了一个人做维护,偶尔会传一些日志过来让我们查错。
日志很大,一开始都是用UltraEdit手工找关键字,后来我就想做一个简单的日志分析工具,顺便学点东西。
为什么选择学习java已经忘记了,不过学了就喜欢上了。

我花一个月左右的时间,看了一遍Thinking In Java(实体书),这是我看过的唯一一本Java书,
以后使用过程中,主要靠翻Javadoc和上网搜。

相对轻松的工作环境,也为我提供了验证学校知识的条件,我从老师那里知道了设计模式,并在项目中实践。
当时我带着两个人开发一个“业务建模”工具,可以在界面上拖拽节点、画线什么的,就像流程图,用Swing做的,
我清楚的记得自己在这个工程中用了Composite模式,还有Template模式。

初试牛刀,看着三个人的代码最终整合起来,能够正常运行,心里也有小小的成就感。
不过第一个项目,对java面向对象的特性理解真的十分有限,
所以程序中充满了用于全局调用的静态属性和方法,
整个系统是紧密耦合,分不出模块的。


02年似乎还没有Eclipse,我们编写代码用Ultraedit,手工编译,
这虽然很麻烦,但对java的理解的更透彻,比如你必须真正明白Classpath的作用和设置才能编译通过,
也能养成比较良好的编程习惯,因为没有IDE帮你做格式化和缩进。
现在Eclipse,尤其是MyEclipse,隐藏了太多的真相,
让比较懒惰的使用者越来越“傻瓜“,遇到问题肯定抓瞎。



总结: 

学习的过程是一重重的境界,火候不够,就无法体验,
我偶尔回答问题也相当粗放,仔细想想,对于新手也许等于越帮越忙,
因为我也经历过弱弱的阶段,一层薄薄的窗户纸,要捅破有时候也相当困难。

现在的JAVA技术体系太过于庞大,远不像我当初所接触的那么简单,
也许不仅仅JAVA,每一个技术阵营都有越来越复杂的趋势,
但枝繁叶茂、盘根错节的大树,毕竟也只能有一个树干,
越是基本的东西,随时间的波动越小,学习要注意去芜存菁,避虚就实,
掌握了原理,才能触类旁通,用起来得心应手。


PS:我至今都觉得,C比JAVA难学!因为我没学会。


------解决方案--------------------
沙发啊~~~~~~~~~~~~我站完再看~~~~~~~~~
------解决方案--------------------
因为我也经历过弱弱的阶段,一层薄薄的窗户纸,要捅破有时候也相当困难。 
但枝繁叶茂、盘根错节的大树,毕竟也只能有一个树干, 
越是基本的东西,随时间的波动越小,学习要注意去芜存菁,避虚就实, 
掌握了原理,才能触类旁通,用起来得心应手。 
谢谢lz
------解决方案--------------------
java要学习的东西太多 了!
很难学全吖!
------解决方案--------------------
有高人指路,可以少走一些弯路。谢了。
------解决方案--------------------

------解决方案--------------------
谢谢分享
------解决方案--------------------
菜鸟到处飞。
------解决方案--------------------
有见解!
------解决方案--------------------
我thinking in java看了一年 =。=~
------解决方案--------------------
终于又更新了 UP。。。。。
------解决方案--------------------
体会一下,有时候跌跌撞撞也许是学习的一个好途径。
------解决方案--------------------