技术开发 频道

Hello,world!我的全部Java经验



    摘要:一个没有Java经验,完全不懂Web编程的程序员,也能用JSF写出复杂的Web程序?本文作者向读者介绍了自己的JSF历程,以亲身经历证明JSF是程序员通往Java Web世界的捷径。

    【IT168 专稿】说实在的,我的Java Web之路,其实没有什么特别的,之所以写成文字,将自己的经历拿出来和读者共享,是希望给刚刚投身Java的程序员们一个参考。我相信每个Java程序员都有自己独特的Java历程,每段Java历程都有值得大家去分享的理由。经验也好,教训也罢,如果能够在Java程序员彷徨徘徊之际,给予他们一点帮助,让他们鼓起勇气,继续前进,那就不枉此文了。
     为了让您对文章内容有个大致的了解,以便决定是否要浪费时间看下去,下面列出了文章的目录:

    1. 前言:此文的目的 
    2. Hello,world!我的全部Java经验 
        初遇Java,我的真实感受 
        缺乏IDE的Java 
        别了,Java 
    3. 一片空白的Web 
        不懂Web的老程序员 
        程序人生的十字路口
        鱼与熊掌,不可兼得
    4. 用JSP写的第一个Web程序 
        Jbuilder引领我的JSP之旅
        Jbuilder老矣,尚能饭否?
        Java Web里的汇编、C和C++
        JSP繁琐的Form处理
        Sun所宣称的JSF优点
    5. 因为无知,我选择了JSF 
        傻人的傻福
        JSF的UI组件
        JSF的事件和生命周期
6. 结束语:享受Java,享受程序人生

初遇Java,我的真实感受

     关于Java的最初记忆已经很遥远了,遥远到连年份都已模糊。是什么吸引我注意Java的?是它奇怪的名字?还是它Write Once,Run Anywhere的宣言?我没有确切的答案。只记得那是上个世纪九十年代,我正是一名快乐的程序员,做着自己喜欢做的事,拿着令人羡慕的不菲薪水,生活紧张有序,人生充满期待。

     那时还没有如今这么方便的互联网,看书和上机实践是程序员学习新技术的唯一手段。我手边经常摆放着大量的计算机书籍,各种各样的语言、系统、平台、技术以、内核以及奥秘等等,我都兴趣盎然。写完程序,偶有闲暇时,翻翻书,写段小程序,体验一下新的技术,是我那时最好的娱乐。

     我就是在这样的情形下认识Java的。当时Java刚被发明出来,我不知道从哪里搞来一篇文章,是介绍Java的,具体内容早已忘到爪哇国去了,只记得里面有一个“Hello,world!”的例子。程序员没有不知道“Hello,world!”的,尤其是学过C语言的。我就是在C语言教材里第一次碰到“Hello,world!”的。由于C相当的普及,以至于在屏幕上打印“Hello,world!”,都成了各种编程语言入门教程的八股格式了。

     我照着那篇介绍Java的文章里的例子,原封不动地敲到电脑里面去,当屏幕上果真打印出那句著名的“Hello,world!”时,我一点也不惊奇。Java的“Hello,world!”没有什么特别的,和C一样,甚至还不如C,至少,C有Borland公司的IDE,Java有吗?用文本编辑器写代码,用字符界面输出信息,用命令行执行程序,没有比这个更落后的了。Java没有打动我,被塞到了书堆的最底层。于是,“Hello,world!”成了我唯一的也是全部的Java经验。


缺乏IDE的Java

     我曾经是“文本-字符-命令行”的狂热爱好者。在大学时代,我们学习单片机,一块电路板上安装了集CPU、RAM和其他一些模块于一体的集成块,配上一些辅助电路,装在一个塑料盒子里,外加一个直流电源,那是我最初的笔记本电脑。虽然屏幕只有一行,虽然一行只能显示16个字符,虽然每个字符只有16个段,但当通电后屏幕上蓝色的字符开始闪烁时,我会立刻变得十分兴奋。胳膊下夹着我的心爱的笔记本电脑,往返于宿舍、食堂和实验室,是我最骄傲的记忆。

     单片机之后是DOS,同样是“文本-字符-命令行”的天下,不过,已经有一些界面优美的程序出现了,最著名的莫过于PCTOOLS了,一个软件集成了几乎所有的操作,并且用一个功能键就代替了冗长的命令行。那时我们用容量为360K或720K的软盘,里面有操作系统、Basic编译程序、PCTOOLS,揣在书包里,辗转于各个机房,用饭票换上机时间,在单色显示器前用行编辑器写代码,即便经常因为超时被机房管理员呵斥,依然乐此不疲。

    是Borland公司改变了程序员的生活。著名的Turbo系列集成开发环境,终结了落后的命令行方式。全屏幕编辑、在线帮助、编译错误定位以及单步调试等等,给程序员注入了新的活力。在一个漂亮、清晰、完善的集成开发环境里编写代码、编译、运行、调试,是所有程序员的梦想,Borland做到了。在Turbo C里,一切操作都简单到只需按一个功能键!因此,自从开始使用Toubo C以后,我就再也不愿意回到命令行了。这也解释了为什么当Java的第一个例子以命令行方式运行完成后,我就束之高阁了。如果Java的最初版本是伴随着一个IDE一起发布的,或许我的Java经验就会和Java的年龄一样大了。


    别了,Java

     我错过Java的另一个原因,是我首次接触Java时,正是Component(组件)和OO(面向对象)的天下,我沉迷在PowerBuilder、C++Builder和Delphi的世界里如鱼得水,无暇他顾。Drag-and-Drop技术让开发变得如此轻松,是我在大学通宵达旦写C程序时不曾预料到的,而OO和面向过程的巨大区别,让我以往的经验似乎派不上用场了,我正忙于改变自己,适应潮流。

     所以,第一个Java程序没有给我留下太多的印象:字符界面、命令行以及用文本编辑器写的代码,这些都是已经被Windows只手遮盖的东西了;虚拟机似乎也没什么必要,Windows已经一统天下,再加上一个“中介”,不是多余吗?Java的类,和C++的类有本质区别吗?好象还不如C++那么完善。“Write Once,Run Anywhere”对我没有任何意义,因为我只写Windows程序!Java,在我看来,只不过是编程语言芸芸众生中毫不起眼的一个角色,没有C的三头六臂,没有C++的大家风范,也没有VB的善解人意,更比不上PowerBuilder的特立独行,也许用不了多久,Java就会销声匿迹。

     我不曾预料到,这个看似平凡的Java,居然成为影响世界的语言。后来Java之树在服务器端生根发芽,枝叶逐渐蔓延到桌面应用,大有在如日中天的Windows下撑出一片荫凉之势时,确实有点出乎我的意料。而当程序员招聘广告上Java字样越来越多,我才意识到Java的时代正在到来。而此时的我,只有一点“Hello,world!”的可怜经验。毫无疑问,我已经在Java的世界里掉队,是不争的事实了。
0
相关文章