改变1995(关于Java)
我是一个.Net程序员,工作中使用C#,之前曾经用过JSP,和Java多少有那么一点点的关系。于是,当朋友让我写些文字,说说Java十年自己的想法时,我决定……
1995年我很不幸的上了职业高中,心情低落到了极点,当时的我不知道一个叫做Java的技术,在默默无闻几年之后终于火了起来。Java并没有和历史上95%的技术一样,被锁进了保险柜,最后扔进垃圾箱,反而在此之后的十年时间取得了巨大的成功!我,也跌跌撞撞的走过了十年,从事着自己喜欢的开发工作,并且在这样一个夜深人静的夜晚,开始了一段关于Java和自己的文字。
高二时从一个同学的口中知道了Java,他说Java是C++++--,对于一个只学过GWBasic和FoxBase的高中生而言,对C++的补充和删除还没有什么概念。当我工作后看了《C++ Primer》,并且了解一些Java知识之后,才对此多少有些认识。
第一次较全面的了解Java是在工作之后, 2001年第4期的《程序员》,开始了一个Java技术专栏,J2SE/J2EE/J2ME/EJB等词汇,在现在并不新奇,当时却让我晕了一阵。年底时公司派我参加WebSphere 3.5的培训,为期一周的培训我只知道了WebSphere、VisualAge for java、JavaBean、EJB等词汇而已。
参加培训的时候我正在自学C++,一心要成个C++高手,对Java不感冒。通过培训了解到的Java我没有感觉到新奇,也没有认识到和ASP和PHP有什么本质的区别。当时我觉得,JavaBean的封装我同样可以用PHP中的类实现,而且MVC结构下的PHP代码也挺优雅的,JavaBean+JSP的开发模式并不特别。另外,JSP 0.9时Container的配置比较麻烦,所以学习的兴趣大打折扣(一个Linux很强的同事搜索到了Resin,从那之后我写JSP一直用Resin)。现在想来,如果当时就深入研究WebSphere,现在没准儿也成了Java高手呢,呵呵。
虽然不太喜欢Java,但为了更好的使用、快速的完成工作,我也跟风买了Bruce Eckel的《Java编程思想》,可至今也没有看完,唉。
工作两年后,我离开沈阳来到大连,同样是公司的要求,工作了一段时间之后,我再次接触到了Java。
有了两年多的开发经验,重复Copy-Paste代码之后,开始考虑重用的问题了。之前虽然在PHP下使用phplib按照MVC结构开发,可还是觉得不爽,因此这次学习Java更关注程序的结构。
Java在桌面方面没有优势,Applet已经被Flash取代,AWT和Swing不在学习范围之列,当时也知道Eclipse开发使用的SWT很好,但学习资料太少,因此也不在考虑范围之内。我的工作主要是做网站开发,EJB技术基本没有用武之地,Tomcat/Resin等Container已经可以满足我的开发要求,完全不需要WebSphere/WebLogic等AppServer。
由于之前有JSP开发的经验,这次的学习主要是为了找Java(平台)的特点,学习过程中http://www.cjsdn.net/给我了很多帮助,在这里知道了TagLib、Struts、Hibernate等很多新东西,也开始关注Open Source社区的力量。
说来惭愧,这次学习只持续了两个月左右,当我感觉自己刚刚进入状态时,由于一些原因又转向了.Net(由于这次转换技术方向,工作了几个月之后我离开了公司,具体的原因就不详细说明了)。我是很喜欢.Net的,可能是因为一直使用微软的产品,也可能是因为看了李维的《Borland传奇》之后对Anders有些崇拜吧。
投入.Net阵营之后,我选择了C#,因为我喜欢C风格的语言(可Java也是C风格的语言啊,为什么当初就不喜欢呢?!)。一次和朋友聊天时,我说自己学习.Net进步比较快,可能是因为C#的包含C的原因吧,呵呵。
基本掌握了WebForm/ADO.NET等知识后,我开始接触Web开发的结构问题,先后阅读了Data Access Application Block、PetShop和Duwamish的源码。DAAB和PetShop的结构和我用的开发结构类似,网上的相关资料也比较丰富,很快就基本掌握了相关内容(PetShop中关于COM+的使用,是最近才注意到的,因为之前没有使用过)。由于微软的PetShop是针对Java的PetShop,看过了一些对比文章之后,曾经想过再分析一下Java的PetShop,因为工作和时间的问题一直没有开始(另一方面也是因为EJB)。
转眼间使用.Net已经近两年了,渐渐的也开始关心起架构等问题,于是开始接触Design Pattern、eXtreme Programming、Unit Test等技术。不得不承认,在这方面Java提供了更多的资源,虽然我从事.Net开发工作,但一直关注着Java的发展。
最喜欢去的两个Java网站是:http://www.jdon.com/和http://www.javaeye.com/,最近为了学习O/R Mapping的知识,正在阅读Hibernate的文档,在此要感谢满江红团队的中文翻译工作!
我一直以为自己是微软技术的用户,将要完成这段文字时,忽然发现一路上总有Java陪伴左右,让我不断汲取营养、努力向前!
从Richard Grimes开始的关于.Net的信任危机,到前几天看到了吕震宇的 “亡羊补牢”,我也多少有些疑惑,当初选择.Net是否错了?但这并没有动摇我使用.Net的决心,Java用十年的时间走到了今天,.Net已经做的很好了!
就写到这儿吧,祝Java在下一个十年更加精彩,同时,我们也有理由相信.Net定会不负众望!