Eiffel FAQ

waterwalk 2002-10-30 04:28:47
这是www.eiffel.com上的一篇faq, 由于水平有限, 许多地方不是翻得很好, 大家多多指教啦--一定要指出翻译的缺陷啊, 这样在以后的翻译中才能做得更好.
另外, 大家如果用过Eiffel, 不妨介绍一下. 看文中说Eiffel多么多么好, 本来想下一个玩玩, 但是太大了, 有50多兆, 于是作罢.
++--------------------------------------------------------------------------------------------
符号说明: 文章中的(*...*)表示对于当前上下文的注释, (#数字)表示文章末尾有注释.
最后修订时间: 2002-10-30 16:20
翻译: WaterWalk
联系方法: toolmaster@sina.com
++-----------------------------------------------------------------------------------------
What is Eiffel?(什么是Eiffel?)
Actually, in this case it's short for "The Eiffel Development FrameworkTM" - a comprehensive approach to software development. It consists of the Eiffel methodology for the beginning-to-end construction of robust, reusable software; the Eiffel language, which seamlessly supports and enforces the methodology; and EiffelStudioTM, the environment that contains the Eiffel language and several productivity and quality related tools. The individual parts all fit together with and depend on each other, supporting each other's function in the pursuit of making the best software possible.
确切地说, 在这里Eiffel是"Eiffel应用开发框架"的简称. 该框架提供了一整套完整的软件开发方法. 它包含一下几个部分: 一套贯穿开发健壮,可重用软件过程始终的方法, Eiffel语言(它无缝地支持并加强了这种方法), 和一个称作EiffelStudioTM的开发环境(该环境包含了Eiffel语言以及一些提高开发效率和质量的工具). 这几个部分相互依赖, 互相配合, 相互支持, 以求开发出最好的软件.
No other software development system has been designed to work in such a simple and powerful way.
没什么别的软件开发系统设计得如此简单而又功能强大.
The results of this approach and design are staggering. Productivity increases of 2 to over 10x. Cost of ownership 80% lower. Quality levels 10 times higher.
这样的设计和方法是令人惊讶的. 生产效率提高了2到10倍还多. 成本降低了80%. 质量则提高了10倍还多.
Eiffel takes companies' software to a level of efficiency and reliability far above the capabilities of other languages and development tools.
Eiffel为公司的软件所带来的效率与可靠性, 是别的任何一种语言和工具所达不到的.
++----------------------------------------------------------------------------------------------
Where does the name come from?(Eiffel这个名字是如何得来的?)
Eiffel is named after the engineer Gustave Eiffel, an engineer who created the famous tower. The Eiffel Tower, built in 1887 for the 1889 World Fair, was completed on time and within budget, as will software projects written in Eiffel. If you look at that wonderful structure, you will see a small number of robust design patterns, combined and varied repeatedly to yield an extremely powerful, efficient structure - exactly like an Eiffel system built out of Eiffel Software's reusable libraries. Like many software systems today, the Eiffel Tower was initially conceived as a temporary structure; and like many a system built with Eiffel, it was able to endure far beyond its original goals.
Eiffel取自一名叫做Gustave Eiffel的工程师, 他建造设计了著名的埃菲儿铁塔. 埃菲儿铁塔是在1887为举办1889年世界博览会而建的. 它在计划的工期和经费预算中完成, 而用Eiffel所构建的软件工程项目也能达到这样的目标(*指能按计划的时间和经费预算完成*). 如果您花点时间来看一看这一软件体系的精巧架构, 您就会发现重复组合使用一小部分健壮的设计模式将能生产出多么强大,高效的体系结构--就像是用Eiffel可重用软件库所搭建出的Eiffel铁塔(*这样理解是否正确还有待商榷*). 像目前其它许多软件系统一样, "Eiffel铁塔"最初被设计为具有现代的结构; 并且像许多用Eiffel开发的系统一样, "Eiffel铁塔"能够胜任超过它本身设计目标的任务.
++-----------------------------------------------------------------------------------
How did Eiffel come about, and what is its history?
(Eiffel是如何产生的? 它的历史是怎样的?)
Eiffel was designed at Eiffel Software (then known as ISE) in 1985, initially as an internal tool to develop some of our products. We wanted a modern, object-oriented environment integrating the concepts of modern software engineering, and there was simply nothing available. The Eiffel 1 environment was first demonstrated in public at the first OOPSLA conference in October of 1986 where it attracted considerable attention, leading us to release it as a commercial product at the end of 1986. The technology spread rapidly over the following years, leading to a set of successful industrial projects in the US, Canada, Europe and the Far East. Right from the beginning Eiffel also impressed the academic community as an ideal way to teach software concepts at all levels, leading to its adoption by numerous universities around the world as the primary teaching language.
Eiffel由Eiffel软件公司(那时叫做ISE)在1985年设计, 最初是将它作为开发我们产品的一个内部工具. 我们需要一个现代的,面向对象的开发环境, 要能体现现代软件工程学的思想, 然而当时并没有这样的工具. Eiffel 1最初在的一届OOPSLA大会(*这是什么大会呢?*)上公开亮相, 那还是在1986年的10月份,当时它就吸引了相当多的眼球, 这促使我们在1986年年底将它作为商品发行. 在随后的几年中, 这一技术迅速地传播开来,并在美国,加您大,欧洲和远东地区产生了一系列成功的工程项目. 就在Eiffel的发展之初, 学术界就认为它是一个教授各种软件概念的理想途径, 并且世界上许多大学都采用它作为主要的教学语言.
Successive versions of the environment appeared at the rate of about once a year. Eiffel recognition was given a large boost by the appearance in 1988 of the book Object-Oriented Software Construction by Bertrand Meyer, which quickly became the best-selling title in the field and was translated into eight foreign languages; the book used Eiffel as the natural vehicle to introduce concepts of object technology and Design by Contract. (The greatly expanded Object-Oriented Software Construction, 2nd Edition is now available; you can find it in bookstores or order a copy from the sources listed on our products page.)
后续的版本大概是每年都翻新一次. Bertrand Meyer在1988年出版的<<面向对象软件构造>>极大地促进了人们对于Eiffel的认可. 这本书很快就成为该领域(*指面向对象*)的畅销书, 并被翻译成8国外语. 这本书就使用Eiffel为媒介来介绍面向对象的概念和承包设计(*不明白*)的方法. (该书的第二版已出版, 其内容已被极大地扩充了; 您可以在书店中找到它或到我们的产品页面上定购一本.)
The last iteration of the original technology was version 2.3, released in the Summer of 1990. The next version, Eiffel 3, resulted from the lessons of the initial version and was written entirely in Eiffel; it was bootstrapped from 2.3. Eiffel 3 introduced the Melting Ice Technology for fast recompilation, a fully graphical environment based on innovative user interface concepts, and considerable advances in libraries (graphics, networking...) and optimization of the generated code. The initial versions were available on Unix; since then they have been complemented by fully compatible releases on VMS, OS/2, Linux, and our best-selling Windows versions (Windows 3.1, Windows 95, Windows NT), making Eiffel one of the most widely portable solutions in the software industry.
我们最初应用于Eiffel的技术一直延续到1990年夏发行的2.3版. 下一 版本, 即Eiffel 3则是根据以往的教训完全改用Eiffel语言写成; 它由拓展2.3版而来(*这样理解对吗?*). Eiffel 3引入了"融冰技术"(*有更好的术语吗*)以加快重新编译的速度, 一个基于新型用户界面概念的图形环境. 它的各种程序库(包括图形,网络...)极大地发展了, 产生的代码也优化了不少. 最初的版本能用于Unix环境; 并且后来运行在VMS, OS/2, Linux之上的版本和我们最受欢迎的基于Windows(Win3.1, Win95, WinNT)的版本之间也完全兼容. 这使得Eiffel成为在软件业中移植力最强的解决方案之一.
Today, the Eiffel technology continues to push the frontiers of software development technology forward. With the introduction of EiffelStudio 5.2TM, users have available to them the most efficient means for achieving highest-quality, robust, scaleable, reusable software applications - on all major platforms, including Microsoft's new .NET frameworkTM. And with Eiffel ENViSioN!TM, developers can use the power of the Eiffel language from within the popular Visual Studio .NET
...全文
52 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterwalk 2002-11-05
  • 打赏
  • 举报
回复
感谢echou(岸边蚕豆) 提出建议,若有兴趣,再看看eiffel faq2--给分
echou 2002-11-04
  • 打赏
  • 举报
回复
Design by Contract: 合约设计
参见http://allwish.com/tech/dbc_intro.htm

TM: Trademark 商标

reverse engineering: 反向工程.

例如从Java的类代码反推出其UML设计。
在ErWin中根据已存在的数据库表结构反推出其设计。

built in metrics and profiling: 内置的衡量和性能剖析

business-critical:对业务关键的

ambitious system:可以理解为艰巨的,有挑战性的系统。

Eiffel scales up:Eiffel能够系统适应规模的扩展。

exactly like an Eiffel system built out of Eiffel Software's reusable libraries.
正如一个Eiffel系统是由Eiffel软件可重用的库搭建而成。

many software systems today, the Eiffel Tower was initially conceived as a temporary structure; and like many a system built with Eiffel, it was able to endure far beyond its original goals.
就象今天的许多软件系统一样,艾菲尔铁塔当初的设计只是临时性的结构;但是象许多由Eiffel构建的系统一样,Eiffel铁塔却能够达到远超设计要求的承受能力。

OOPSLA:Object-Oriented Programming Systems, Language and Applications.

The Eiffel 1 environment was first demonstrated in public at the first OOPSLA conference:
Eiffel 1环境第一次是在首届OOPSLA大会上公开演示



bootstrap:启动,因为Eiffel3全部是由Eiffel编写,需要有一个启动环境,就是Eiffel2.3

它由Eiffel2.3启动,Eiffel 3的改进包括:引入融冰技术以提高重编译速度,具有革新性用户接口概念的全图形环境,对库的大量改进,以及生成代码的优化。

waterwalk 2002-10-30
  • 打赏
  • 举报
回复
++---------------------------------------------------------------------------------------------
What is EiffelStudio?
(EiffelStudio是什么?)

EiffelStudio is the Integrated Development Environment (IDE) designed exclusively for the Eiffel Object-Oriented language. Seamlessly addressing the whole life cycle of software development, Eiffel Studio provides facilities that will help your application develop from initial design time, right through to time of deployment. Built in functionality such as Computer Aided Software Engineering (CASE) tool for the Business Object Notation (BON) method allow you to see and interact with the design of your system during development, and there is no need for reverse engineering as everything is done concurrently. Eiffel Studio also has superb browsing mechanisms for viewing information about your code and how that code performs and behaves whilst executing. From full feature browsing, to built in metrics and profiling, EiffelStudio can give you information on almost anything about your system that can aid you in developing and optimizing it to its full potential.
EiffelStudio是专为Eiffel面向对象语言设计的集成开发环境(IDE). 它无缝支持软件开发的整个周期, 并提供帮助您从产品的最初设计到最终发布所需的各种工具. 其内建的功能, 例如支持企业对象符号方法(BON)(*不知道是什么东西, 只好硬来了*)的计算机软件工程辅助设计(CASE), 能让您观察并交互地设计整个系统, 并且没必要逆转工程(*什么意思?*), 因为所有的事都是同时做的. Eiffel Studio还有十分强大的浏览机制, 能让您代码的信息以及运行时代码的执行情况. 从全面的浏览功能到内建的各种机制(*可以这样说吗?*), Eiffel Studio为您提供几乎您系统的全部信息以便帮助您开发并发挥出它最大的潜力.
Centered around the Design by ContractTM methodology, EiffelStudio's fully featured debugger will allow your software to find the bugs for you, minimizing the huge cost of maintenance that systems designed with other languages have to endure. Coupled with a fully functional browsable editor, EiffelStudio allows you to navigate to any part of your system to track down and fix the so called 'hard to find' bugs, therefore reducing project costs even further.
围绕着应用"承包设计TM"(*什么意思?*)的方法学, EiffelStudio的全功能的调试器能使软件"主动"发现错误, 最大降低维护系统的代价(而用其它语言写的系统则维护代价要大的多). 再加上一个功能强大的易于浏览的编辑器, EiffelStudio能让您深入到系统的任意角落, 发现并修正所谓的难以发现的问题, 因而进一步降低了项目成本.
++--------------------------------------------------------------------------------------------
What is the difference between Eiffel and EiffelStudio?
(Eiffel与EiffelStudio之间有什么不同?)
Eiffel is the language a developer uses to write great software. EiffelStudio is the environment and toolkit that surround the Eiffel language that he/she uses for creating large, sustainable, business-critical applications.
Eiffel是开发者编写软件所使用的语言. 人们使用Eiffel语言来创建大型的、易于维护的和对于企业至关重要(*这样说符合原文么?*)的应用程序. EiffelStudio则是以这一语言为中心的开发环境和工具集.
++---------------------------------------------------------------------------------------------
Is Eiffel intended for any specific application area?
(Eiffel是为某一特定开发领域设计的吗?)
Not specifically. Eiffel brings many benefits to serious application development, regardless of end-use. Eiffel has been used in many application areas, from financial applications to manufacturing to product configuration control to healthcare to telecommunication systems. It is also widely used for teaching purposes.
不是. 不管最终用于何种领域, Eiffel都能为正式的开发带来好处. 从金融、机械制造到医疗机构和远程通讯的配置中心, Eiffel都能胜任. 同时, Eiffel还广泛用于教学.
Eiffel shines particularly for ambitious systems that must be easy to adapt to changing market or user demands. With Eiffel you can quickly produce a basic version of a system, reliable and efficient, put it into users' hands early (while the competition is still trying to produce a "prototype"), and come up with new releases rapidly, all the time maintaining the standards of robustness that are the hallmark of the approach.
在系统必须能够容易地适应市场或用户需求时(*这里ambitious怎样处理比较合适呢?*), Eiffel的优势尤其明显. 你可以用Eiffel快速地开发出既可靠又高效的系统, 即使它还只是处于基础阶段. 您可以将产品更早地(其它语言此时可能仍在努力做出一个"原型")交到用户手中, 并能很快地开发出新的版本. 同时还总能保持产品的健壮性, 而这正式该方法的一个特点.
Eiffel scales up. Many a 500,000-line system started as a 50,000-line program. Through its abstraction and structuring facilities, Eiffel is one of the few environments that won't let you down when your project (or company) grows in size, scope and ambition.
Eiffel逐渐发展起来了(*好像这么说不通*). 许多有五十万行的系统最初不过才五万行. 由于具有抽象和结构化的功能, Eiffel是少数能够在您的项目(或公司)在规模和目标变大时不会使您感到困难和沮丧的开发环境之一.
++--------------------------------------------------------------------------------------------
What about operating systems then? Where does Eiffel run?
(那么Eiffel能运行于哪些操作系统上呢?)
Eiffel is very portable, a feature that developers love. It runs just about everywhere, including Windows (classic and .NET), Unix, Linux, VMS and soon Mac OSX. This allows developers the flexibility to maintain their legacy code while developing new code on a completely different operating system.
Eiffel具有开发者很喜欢的一项特点: 可移植. 它到处都能运行: 在Windows(不论是以前版本还是最新的.NET)、Unix、Linux还是VMS上都行, 而且很快还将在Mac OSX上跑起来. 这将使开发者获得很大的灵活性: 因为当他们在全新的平台上开发时将能够使用以前的代码.
++--------------------------------------------------------------------------------------------
Won't I have to forsake my existing software, thus losing millions of dollars?
(我是否要抛弃已有的软件, 并损失一大笔钱呢?)
Absolutely Not!
当然不会!
Eiffel is an open system; it is at its best when used as a combination technology to reuse software components written in various languages. In particular, Eiffel includes a sophisticated C and C++ interface, supporting:
Eiffel是一个开放的系统; 当它用于重用用其它语言写的软件组件时表现十分出色. 尤其是Eiffel包含一个精妙的C/C++接口, 支持:
Calling C functions from Eiffel.
Accessing C++ classes and all their components (functions or "methods", data members, constructors, destructors etc.) from Eiffel.
在Eiffel调用C函数.
在Eiffel中使用C++类和它们所有的成员(函数或方法, 数据成员, 构造器, 析构器等等).
Accessing Eiffel mechanisms from C or C++ through the Cecil library (C-Eiffel Call-In Library).
Automatically producing a "wrapper" Eiffel class from a C++ class.
Eiffel makes it possible to move to modern software technology while reusing the best results of earlier practices.
通过Cecil库(C-Eiffel调用库), 在C/C++中使用Eiffel的机制.
自动从C++类生成Eiffel类的"包装器".
Eiffel使在转向现代软件技术时能够重用先前所写的优秀代码变得可行.
++--------------------------------------------------------------------------------------------

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧