Java咖啡馆(3)——Eclipse
2008-01-05 20:11:10 来源:WEB开发网第一篇:java咖啡馆(1)——叹咖啡
第二篇:Java咖啡馆(2)——第一杯咖啡
铁匠以打造自己的工具为荣。在进入这个行当之时,或接受非凡需求的任务前,制作称手的工具便成了头等大事。通过炼炉、铁砧以及锤子,铁匠循环进行着加热、锻造和冷却过程,直到把钢铁铸造成称手的家伙。
序言
与铁匠挥洒汗水和忍受高温相比,软件开发是一个既干净又抽象的过程。不过,代码与钢铁的相同之处就是它们都有延展性——通过足够的技巧和努力,可以把钢铁或代码变成精致的工具或巨大的机器。
上回我们品尝第一杯咖啡时,只说出了第一句“Hello, world!”,手工编写、编译、调试、运行Java程序,一定让你手忙脚乱,饱尝Java咖啡的苦涩。若要完成一个大型项目,这样的徒手作业无异于愚公移山。
对Java开发者来说,没有什么能够比得心应手的集成开发环境(Integrated Development Environment,简称IDE)更令人着迷。 所谓IDE,就是把编写、编译、调试、运行集成在一个统一开发环境中的软件,并且还增加了许多提高开发效率的实用功能,比如高级编辑功能、自动编译、设置断点逐步调试、在IDE内部显示运行结果等。徒手开发好比刀耕火种,用IDE可谓进入了蒸汽时代。
十年前,由于技术所限,IDE还是奢侈品。随着科技的飞速发展,十年之后的今天,界面易用、功能强大、速度飞快的IDE已经无法成为人们热衷的话题,即便免费也难以成为怦然心动的惟一理由。套用经济学术语,人们渴望的不仅仅是一个传统的IDE,而是一种边际效应递增的开发工具——更多的可用资源、更高的开发效率、更合理的开发方法,以及更保值的知识投入——免费当然再好不过了。
Eclipse就是这样一个开发工具——开放源代码、免费、优秀的厂商支持,并且拥有丰富的扩展资源。
Eclipse
1.Eclipse的历史
Eclipse的前身是IBM的Visual Age for Java(简称VA4J)。把这个项目免费赠予给Eclipse社团(www.eclipse.org)前,IBM已经投入超过四千万美元进行研发。Eclipse社团的创始人还包括Borland、Merant、QNX Software Systems、Rational Software、Red Hat、SuSE、TogetherSoft和Webgain,后来加入的还有Oracle等公司,实力相当雄厚。如今,IBM通过附属的研发机构Object Technologies International(简称OTI),继续领导着Eclipse的开发。
黄糖故事
OTI的传说
OTI是杰出的面向对象开发工具的研究组织。早在1988年,他们对Smalltalk已经有了深入研究。在《Java咖啡馆(1)——叹咖啡》的黄糖故事中我们已经介绍过,Smalltalk是第一个完全面向对象的动态计算机程序设计语言。1996年加入IBM后,他们推动了IBM闻名的Visual Age系列开发工具的生产。实际上,IBM当时的VA4J是用Smalltalk编写的,并且为Java融入了许多Smalltalk的先进理念,比如没有“文件”的概念,版本控制被提高到方法学的层次。
Eclipse可以看做VA4J的Java语言实现,但并没有受到Smalltalk太多的影响和制约。为了更加实用,Eclipse去掉了一些纯OO(面向对象)的元素,在理想主义与实用性之间找到了一个很好的平衡点。虽然这使得一些纯OO的追随者伤心欲绝,但结合实际应用、聆听用户的声音,或许这正是Java如此成功的根本原因吧。
2.Eclipse的构架
假如把Java开发者比作铁匠,那么把Eclipse比作铁匠铺就再合适不过了——你不但能够制作产品,还能够打造开发工具。
当下载了Eclipse,你直接接触到的是:
★用来编辑和调试Java源代码的Java开发工具箱(Java Development Toolkit,简称JDT),功能相当于IDE,用来开发产品。
★可以扩展Eclipse本身的插件开发环境(Plug-in Development Environment,简称PDE),好比WinAMP等多媒体播放器的插件开发包,用来打造开发工具。
实际上,Eclipse的基础是Eclipse平台(Eclipse Platform),提供软件开发工具集成的服务,而各种开发工具,包括JDT和PDE,都是用插件的形式提供的。插件设计使得Eclipse具有开放式可扩充的结构。比如,你想开发C/C++程序,装一个C开发工具(C Development Toolkit,简称CDT)插件代替JDT即可。同理,通过开发相应插件,Eclipse也可以用来开发微软的C#程序。Eclipse设计的美丽之处在于,除了小部分运行的核心,其他都是插件(见图1)。
通过插件机制,Eclipse体现了一种主观能动的态度:它提供给你一个开放的平台、一个平等参与的机会,以及一些需要遵守的总体规则,然后你尽可快意恩仇,以出人意料但又令人拍案叫绝的方式来使用Eclipse。假如你有新的需要而Eclipse没有满足,自己动手做个插件吧,不但丰衣足食,对整个Eclipse社群也是直接的贡献。
主观能动并非开发工具的惟一态度。与Eclipse竞争的开发工具,比如Borland公司的JBuilder,采用的是另一种做法:你支付高昂的费用,Borland提供一个近乎全能的JBuilder——包括支持Eclipse不内建提供的jsp(服务器端动态网页技术)、EJB(一种企业级数据持久技术)和Web Services(Web服务)的开发。如若你要求新的功能,你可以告诉善于聆听用户意见的Borland,或许他们会在下一个版本中加上新特性满足你的要求。当然也可能完全不理你,认为你的需求不足以令他们开发一个新特性。Borland公司的态度布满了商业的严谨,JBuilder也堪称经典,但Eclipse的那种潇洒和自由,用户的那种强烈的归属感,溢于言表。
3.开放源代码
Eclipse是一个开放源代码的软件,是以Common Public License (简称CPL)授权形式发布的。开源通常意味着免费,Eclipse也不例外。
虽然Eclipse是一个开放源代码的项目,但由IBM这样一个商业主体领导着项目的开发,这一点跟普通的趋于无政府主义的开源软件有所区别。实际上,CPL授权旨在促进Eclipse平台上的商业应用,呈现一个基于Eclipse的免费和商业软件共存的系统。
公开源代码的一个自然结果,就是Eclipse开发者一直在听取用户的意见——实际上,Eclipse开发者本身就是Eclipse最忠实的使用者。而Eclipse开发者中,不乏IBM的杰出科学家,所以其品质及理念极为出色。当初Eclipse 2.1发布时,曾经出现过“哄抢”的惨烈局面——下载量太大导致服务器带宽不够,要想在第一周内得到一份拷贝,也不是那么轻易!
更多精彩
赞助商链接