服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

eclipse in action1.1

第一章  简介

本章简介

eclipse的简要历史

eclipse.org组织

eclipse及设计简介

关于将来

铁匠都以制造自己的工具为荣。在刚刚开始交易或者接手一个具有特殊要求的工作的时候,首先需要做的就是制造新工具。铁匠用铸造,锤子等一系列工具重复着加热,捶打,和凉却这个过程,直至钢铁变成合适的形状,大小的工具。相对铁匠的爆发力和热度,软件开发看起来似乎干净,抽象一些。代码与金属的共同点,就是他们的可拓展性了(至少金属在高温下是可拓展的)。用足够的技巧和努力,你可以把代码或者钢铁变成一块磨刀石,或者创造一个建筑奇迹。

对于软件开发者来说,eclipse相当于铁匠的工场,刚开始的时候,只有很简单的几个工具。铁匠用现有的工具去制造新工具,比方说钳子,你可以用eclipse来为软件开发构建新的工具,并且这些工具集成了eclipse的一些功能。eclipse的显著特点是一就是可扩展性。

但是不要被现在diy的思想误导,你不需要为了更好的利用eclipse而去编写自己的工具,甚至不需要新工具,因为eclipse本身具备了java开发环境,还有一个代码级的调适器。而且,由于eclipse的流行以及开源的特性,还有很多已经存在的专用工具(本书稍后将提到),而且还会出现更多的工具。

1.1eclipse的由来

eclipse之前,要勾画出一个像eclipse这样强大并且成熟的工具简直是一件让人难以置信的事情,但是在2001.9月,当他的1.0版本问世的时候,这变成了现实。很自然的,出现了一些关于eclipse采用的方法以及他缺少的特性的吹毛求疵的评论。自从emacs出现之后,开发者中最流行的两种运动就成了议论哪个开发环境是最好的,那个操作系统是最好的。但是这次,却没有出现这种常规的争论。舆论认为,eclipse差不多成形了,那么,1.0的产品是什么样子的?

有一些公司因为不到3.0版本而不好出名,然后虽然eclipse1.0缺少某些特色,并且不能适合所有人的工作方法,但是很明显的,eclipse做的是对的。更重要的是,eclipse的开发者听取他们的用户,实际上也是开发者的意见。20033月,但是2.1出现时,它满足甚至超越了几乎所有人的期望,很多人都去下载以至于在他发布的第一个星期内很难得到一个copy

1.1.1一点背景

eclipse的设计不是很顺利,ibm声明在将它作为开源软件给eclipse.org组织以前,他们花费了40000000多美元进行开发,ibm在随后的oti的开发中依然起领导作用。oti是一个著名的面向对象开发工具,他的历史可以追溯到1988年,当是可选的面向对象语言还是smalltalkoti1996年由ibm成立。是制定面向对象标准的ibmvisual age产品的力量。small talk的许多先进的观念被应用到java中,组成了visual age for java这个独一无二的环境。比方说,他没有文件的概念,在方法层,版本取代了文件。跟其它的visual age产品一样,va4j也是用smalltalk写的。

eclipse基本上就是一个用java重写的va4j。一些像smalltalk使得va4j看起来比其他javaide看起来诡异的特征,已经被去掉了。一些面向对象纯化论者很失望,但是java之所以流行的原因是他的实用性。就像一篇好的译文,eclipse is true to the spirit of its new language and strikes a similar balance between ideology and utility.

1.1.2eclipse组织

eclipse是在联盟的stewards部的管理和指挥下的,stewards部包括联盟社团成员的一个代表,这个部门在两个方针的指引下决定工程的方向:一个是鼓励好的开源交流,另一个是尽量为成员创造商业机会。

在运作层上,eclipse是由pmc将工程作为一个整体管理的,eclipse可以分为以下几个子工程:

平台

jdt(由erich gamma领导,erich gamma以他在设计模式上的贡献和快速开发理论而闻名)

        pde (plug-in development environment)

每一个字工程都可以被进一步划分为许多组件,例如,平台子工程包括比较,帮助,以及搜索这些组件,jdt包括三个部分,调试,用户界面,以及核心,pde则包括用户界面以及核心这两部分。

对这个工程做出贡献的不只有ibm和联盟的成员,像其他的开源项目一样,任何个人或者公司都可以参与做贡献。

扫描关注微信公众号