|
VisualAge for Java。对于现代的程序员,开发工具起着越来越重要的作用。尤其在java领域,各种工具和厂商之间
的关系十分复杂,用户之间对开发工具的争论是一个永恒的话题。
在新闻组和BBS上常常看到有人问什么开发工具最好,经常就会有人对新手说,就用 JDK 和notepad
(ultraedit,editplus,...);也有许多有C,C++经验的人上来就找Visual J++;还有许多人对Borland JBuilder情有独钟,加
上一些通用的集成开发环境比如Visual Slick Edit,一些基于java的比较小的开发环境,比如
Kawa,JCreator,IntelliJ...更不用提UNIX环境下那些狂热的EMACS,VI的爱好者了...
然而我最喜欢的还是VisualAgeJava,有的人喜欢用JDK和文本编辑器,是因为喜欢感觉到真正的代码,知道“背后发
生的事情”,对他们而言,可视化编程工具生成的代码绝对是垃圾,不利于自己的修改和维护。但是他们并不是排斥工具
,要不然,也不会把notepad换成ultraedit,editplus,乃至更强大的工具,远远不是一个文本编辑器那么简单。
至于使用Visual J++,Borland JBuilder,也很明显,界面和习惯都很熟悉,很快就知道怎么回事,可以上手。但是其
实Java世界有它自己的特点。
最初的Java IDE大概是Symantec公司的Visual Cafe,由于其编译器速度很快,尤其出现的最早,很快占领了大部分的
市场份额,现在虽然已经大不如前,但还是有其特点的,尤其是国际化支持方面比较突出。
此后就是IDE领域的老牌公司Borland的JBuilder,早期的还比较粗糙,但是随着版本的不断更新,集成了许多类库和
组件,以及Borland一向的良好声誉,成为当前最普遍的IDE之一。
Microsoft的VisualStudio在C++领域是绝对的老大,在Java领域却不能有同样的风光,其实从微软公司的战略角度,
这点是很明显的。从较早的Visual J++ 1.0到比较稳定的1.1,以及号称专门从Borland挖来的Delphi总设计师亲自设计的
Visual J++ 6.0,它始终处于一个尴尬的位置。后来更因为被Sun起诉,被迫最终修改。
不可能从Microsoft得到Java的开发工具,这是很明显的。
有的人第一次用VisualAgeJava,可能会不太习惯:怎么界面这么土?(VisualAgeJava的版本更新很少带来界面上的
变化,没有其他软件花哨,其实可以说是优点。不过,Eclipse or WSWB的界面可就完全不同了,不仅很漂亮,而且有很精
心的设计,而不是照搬习惯的方式)怎么没有我熟悉的菜单结构?...
VisualAgeJava有很多独特的地方,需要一个熟悉和适应过程。
VAJ用自己的二进制格式文件(资源库)作为基本的存储模型。
对于开发者而言,完全不用考虑文件和路径的所有问题。所面对的直接就是package,class,method......,同时在显
示上也是以类、方法等单元作为对象,只显示选中的元素(直到近期的版本才出现了full class view),这非常符合面向
对象的概念,帮助开发者用面向对象的概念和模型来考虑问题。
当然,有人可以说,不接触文件,不搞清楚文件,路径,包的关系,就没有了解Java中这部分真正的内部机制。但是
,即使是已经充分了解的有经验的程序员,也难免在这个问题上犯错误或者耗费不少时间和精力(因为牵涉的因素很多)
,对于初学者,这一点就更重要了。
内置的版本控制。正是因为使用了资源库,在VAJ里面版本控制的功能十分强大。每一次存盘的状态都被保存,可以很
容易地回溯和比较。任何时候想冻结代码的状态时,可以将一个版本版本化。这样将使特定版本成为只读的,并可以命名
。编程时完全可以放心保存和修改,对于开发周期内的一些特殊点可以方便地留下快照。
增量编译。在VisualAgeJava中没有显式的编译过程,每次存盘的同时就进行了增量编译,有问题立刻标出。这不仅节
省了编译的时间,省去了一个步骤,也强迫开发者每一阶段都要保证正确,这种step by step,在正确代码基础上继续工
作的增量式开发是一个很好的习惯,比上来就写很长一段程序,编译运行,然后再慢慢地调试和寻找错误,要高效得多。
最好的调试方法就是避免错误。
调试器。VisualAgeJava用的是IBM的Java虚拟机,使它具有独特的hot-link功能,可以把修改后的代码编译后连接到
正在运行的程序中。甚至有人说,他就在debugger里面编写程序,程序一直在运行,而不用像有的人那样,必须写大段大
段的System.out.println来观测程序运行状态。 |
|