前些日子新闻一直在追踪报导北大山鹰社5名失踪登山队员的下落,虽然我对登山运动不甚了解,但攀登六七千米的悬崖峭壁的危险是显而易见的。也许,山鹰队队员们的梦想不仅在于那连绵不断的雪山,更在于在勇攀高峰的过程中所体味的成长与爱,生命与自由。这些新闻报导,促使我写这篇文章,与大家分享我成功的欣喜与失败的泪水。
我在大学时学计算机科学专业,毕业以后一直从事计算机网络治理和软件开发的工作,也就是大家所说的“IT行业”。大多数人只认为这是一个报酬较高的行业。但在我眼中,IT可以是我一生的事业,是我的理想,而一切都起源于一种程序设计语言——Java Programming Language。
事情可以追溯到三年以前……
1999年1月
这一周以来,我正在用C语言编写一套通讯接口程序,可是在测试和调试过程中发现了一些不明原因的问题,程序有时候会莫名其妙地崩溃。由于涉及通讯的服务方进程和客户方进程是异步运行的,所以无法进行单步跟踪、定位可能发生问题的程序模块。这个问题困扰了我一个星期的时间,在反复审查我自己的代码而未能找到原因的情况下,我开始怀疑我所使用的第三方的C代码库可能会存在问题。经过屡次的跟踪和系统崩溃,我终于发现第三方的C代码库中存在指针(Pointer)误用的错误,这个错误导致了不应该修改的数据被意外修改的现象,并最终导致系统的不稳定和崩溃。
1999年3月
我从Internet上发现一些消息,有一种被称为Java的程序语言在北美地区已经相当流行,这种程序设计语言由Sun Microsystems公司发明和编写,语言风格类似于C/C++语言,但解决了一些C/C++中的指针问题。发现这些信息之后,我马上到Sun公司的网站上下载了Java语言的相关资料。阅读数遍之后,发现其中的含义和理论并不简单,远远超过VB、PB、Dephi之类。我想找一些中文资料来看。
1999年4月
跑遍上海的大小计算机书店,发现关于Java语言的计算机图书资料少得可怜,即便有,也是不知所云,找不到真正权威性的中文版本的Java图书。网上资料不少,但很零散,质量也不高。怎样才能在最短的时间里把握Java的语法、程序结构框架、设计理念和思想呢?
1999年5月
参加培训也许是个好办法,MCSE的培训课程很火,Java应该也有吧!找遍各大IT媒体,居然没有发现哪家培训中心有Java的培训课程。只能等待机会了。
1999年6月
太好了!上海交通大学计算机培训中心有Java课程!我毫不犹豫地报了名。
没想到Java课程上机是SPARC工作站和Solaris操作系统,而且Java程序移植到Windows平台时不需要重写,让我觉得简直不可思议!而且Java语言是纯面向对象语言,设计理念和思想与面向过程的程序设计语言相比有许多意想不到的优势。
1999年8月
向老板建议,以后的软件项目用Java来开发,遭到否决!
2000年2月
发现一家美国公司在招聘Java程序员,为了证实自己的Java编程水平,我参加了Sun公司的SCJP(Sun Certified JavaProgrammer)考试,通过!然后加入了这家公司的Java开发团队。
2000年9月
为了再次证实我在Java软件开发方面的能力和经验,我参加了Sun公司的SCJD(Sun Certified Java Developer)的考试,并顺利通过。同时我熟悉到,Java技术所包含的面向对象的思想完全可以作为软件系统建模的基石,面向对象的分析和设计(OOA/D)过程完全可以通过Java技术来完成和优化。同时,由于Java语言的易学性,为数量众多的软件开发人员进入对象世界提供了一条捷径。
2001年5月
一个偶然的机会,我遇见了余老师,他从事计算机系统治理的培训课程已有多年。余老师正在从事Java SL275课程的培训工作,他认为我既有Java语言的理论知识,又有比较丰富的应用软件实际开发经验,因此比较适合作授课讲师。我自己在学习和使用Java语言一年多来,发现其中蕴含了强大的面向对象的思想和构建易于扩展的、灵活的软件体系结构的能力是无可比拟的。而大部分中国的程序员和开发员却对它缺乏了解,能够让广大的开发人员接触和了解这样一个新生事物,对他们一定有重大的帮助。于是我决定接受Java讲师的角色,迎接一个新的挑战。
2001年10月
随着进一步的学习和研究,我发现Java技术提供了从现实世界到应用软件世界的对象建模能力,同时它的分布式计算的能力也十分出色。Java企业版(Java 2 Enterprise Edition)平台提供了基于Internet计算的分析、设计、开发、测试和部署能力,并且将事件驱动、服务驱动和即插即用的应用能力发挥到了极至。为了再次证实我在分布式计算、企业级计算方面分析、设计和实现的能力和经验,我参加了Sun公司的SCEA(Sun Certified Enterprise Architect)的考试,并顺利通过。
现在,当我看到许多学生和程序开发员通过Java课程的培训接受了面向对象的先进思想、并且能够运用到实际开发过程中,取得良好的效果,我感到由衷的欣慰。因为我不但为自己,我找到了一条理想的道路,同时也在为IT产业贡献一份微薄的力量。