mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2026-04-04 09:09:22 +02:00
Applied new documentation structure with limited number of books.
Fixed Eiffel syntax wiki page to be processed by the Eiffel wikiparser. git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1402 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
116
documentation/current/_others/community/index.wiki
Normal file
116
documentation/current/_others/community/index.wiki
Normal file
@@ -0,0 +1,116 @@
|
||||
[[Property:title|Community]]
|
||||
[[Property:description|Members of the Eiffel community can contribute to this documentation through this book]]
|
||||
[[Property:weight|15]]
|
||||
[[Property:uuid|75c75712-7c3e-2757-51b7-77b404471e2e]]
|
||||
=You can become a contributor!=
|
||||
|
||||
Eiffel is a community. Members of the Eiffel community can contribute to this documentation through this book.
|
||||
|
||||
EiffelStudio documentation is available in a convenient Wiki format. This makes it possible to improve the documentation continuously and make sure it is always up to date.
|
||||
|
||||
Community input is welcome.
|
||||
|
||||
==Using the Comments pages==
|
||||
|
||||
Each documentation page has an associated '''Comments''' page. Any viewer can add comments to a Comments page. These comments are periodically reviewed and appropriate content is "published," that is, made visible to the community.
|
||||
|
||||
===Guidelines for Comments pages===
|
||||
|
||||
#The '''Comments''' pages are intended to be used to record and communicate issues concerning the documentation. Use Comments pages to post comments which report problems with the documentation or which suggest improvements to the documentation.
|
||||
# '''Any material you add to this site becomes the property of Eiffel Software, and may be shared with the community.'''
|
||||
# Comments pages should ''not'' be used for product support questions, product feature requests, or bug reports. ''Comments of this sort will be deleted.'' For help with products join the [http://groups.eiffel.com Eiffel Software User Group] and use the resources at the [http://community.eiffel.com Eiffel Community site].
|
||||
|
||||
===Comment lifecycle===
|
||||
|
||||
Although the procedure for how editors deal with comments is flexible, some general guidelines can be given:
|
||||
|
||||
# For comments requesting action (e. g., fix a problem, add more information):
|
||||
## For those actions which can be accomplished immediately:
|
||||
### The comment will not be published.
|
||||
### The requested action will be fixed.
|
||||
### The original comment's subject line will be prepended with "FIXED".
|
||||
## For those actions which cannot be accomplished quickly or require special handling:
|
||||
### The comment will be published
|
||||
### A response to the comment will be made via "reply", and
|
||||
#### The original comment's subject line will be prepended with:
|
||||
##### FIXED, if and when the request can be satisfied.
|
||||
##### ANALYZED, otherwise, plus explanation of delaying or not acting on request.
|
||||
## For actions affecting docs.eiffel.com plus the Eiffel distribution:
|
||||
### Submit a problem report requesting feedback when problem is fixed so that docs.eiffel.com can be updated in kind.
|
||||
# For comments not requesting action, but adding relevant information related to the page:
|
||||
## The comment will be published.
|
||||
## If appropriate:
|
||||
### The content of the comment will be integrated into the page.
|
||||
### The original comment's subject line prepended with FIXED.
|
||||
# Periodically, an audit will remove older comments marked as FIXED and ANALYZED.
|
||||
|
||||
==Contributors and Editors==
|
||||
|
||||
If you are interested in a more active role in improving and developing EiffelStudio documentation, you can become:
|
||||
|
||||
* A contributor: authorized to edit existing pages to any book, and to add pages to the "Community" book.
|
||||
**"Community" book pages can be added to other books by an editor.
|
||||
|
||||
* An editor: authorized to modify and add pages in any book.
|
||||
|
||||
To become a contributor, you should be proficient in Eiffel technology and have good written English skills. To become an editor, you should already be a contributor and have contributed significant improvements or additions to the documentation.
|
||||
|
||||
If you are interested in becoming a contributor, you can [[path:user/register|register]] for an account, and then please [[path:contact|contact us]] with a short description of your Eiffel experience and any other relevant background.
|
||||
|
||||
===Guidelines for contributors===
|
||||
|
||||
# '''Entering log messages:''' When you change pages in the documentation, it can help sometimes if you can provide an explanation of your intent in the '''Log message''' box on the '''Edit''' page. This can eliminate confusion about why things have been changed. Of course, it is not necessary to provide a log message for every change. For fixing typographical errors or other simple changes, it generally would not be necessary, but putting a single lowercase '''"m"''' in the '''Log message''' field will convey the message that this was a minor update. If you are evolving new pages or a complex set of related changes to one or more pages, it should suffice to enter a single log message at the beginning of the series of edits. Use common sense here.
|
||||
#* In cases in which a change is directly related to an external document or policy, it may be helpful to mention the impetus in the log message. For example, documentation changes made to satisfy Eiffel Software problem reports should reference the report in the log message.
|
||||
# '''Renaming pages or moving pages to Trash:''' Before you rename a page or move it to the Trash, you should use the '''References''' tab to make certain that there are no current references to the page. If there are, make sure you resolve those references before renaming or moving the page.
|
||||
# '''Replacing pages:''' If you need to replace a page completely, do so by replacing the '''content''' of the existing page, rather than moving the page to the Trash and creating a new page in its place. Replacing the content will leave the original page (and its UUID) in place, but with the new content. UUID's are used by the [[Eiffel Information System]] (EIS) to link EiffelStudio to documentation pages, and will be broken if the original page were to be deleted.
|
||||
# '''Using templates:'''
|
||||
## There are several "templates" available for use within the text of documentation pages. For example, "Note", "SeeAlso", "Rule", "Definition", "Caution". You can click on "List templates" in the left margin to see the list of available templates.
|
||||
## While developing new pages or make significant changes to existing pages you may want to mark the tops of these pages temporarily with certain templates during the development process. The "top-of-the-page" templates most useful during page maintenance are Beta, ReviewRequested, UnderConstruction, and UpdateNeeded. The meanings of these are described below.
|
||||
|
||||
==="Top-of-the-page" Documentation template meanings===
|
||||
|
||||
====Beta====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{Beta}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''Use this page with caution. This page is currently under development as a new page or a replacement for a previously existing page. It may contain information which describes capabilities not yet implemented. Avoid linking to this page. When this page comes out of beta, it is likely that the name and/or UUID of this page will change.''
|
||||
|
||||
|
||||
====ReviewRequested====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{ReviewRequested}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''The material on this page needs to be reviewed for completeness and accuracy. If you have knowledge of this material, please review this page. If you are a [[Community|contributor]], feel free to make any appropriate additions and/or corrections, then remove this template. If not, you can note improvements on the [[Community#Using the Comments pages|comments]] page.''
|
||||
|
||||
|
||||
====UnderConstruction====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{UnderConstruction}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''Use this page with caution. This page is currently under development. It is likely that the information on this page is still incomplete. ''
|
||||
|
||||
|
||||
====UpdateNeeded====
|
||||
|
||||
Looks like this:
|
||||
|
||||
{{UpdateNeeded}}
|
||||
|
||||
Means this:
|
||||
|
||||
:''Use this page with caution. This page has been identified as needing update. If you are a [[Community|contributor]], you can help by updating this page so that the information on it is current.''
|
||||
|
||||
|
||||
|
||||
5
documentation/current/_others/draft/index.wiki
Normal file
5
documentation/current/_others/draft/index.wiki
Normal file
@@ -0,0 +1,5 @@
|
||||
[[Property:title|Draft]]
|
||||
[[Property:weight|99]]
|
||||
[[Property:uuid|c277e707-67a0-14a2-099e-5b861f2480ad]]
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
[[Property:title|Multiple inheritance]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|7f54afce-fd1d-fba7-7a55-f74604ea9846]]
|
||||
<h2>Multiple inheritance: definition</h2>
|
||||
|
||||
Multiple inheritance is a mechanism for combining abstractions. It lets you define a class by extending or specializing two or more classes, not just one as in <em>single</em> inheritance. For example you might define a multi_function printer as the combination of a printer and a scanner.
|
||||
|
||||
Multiple inheritance sometimes has the reputation of being complicated or even messy, but there is no such problem in Eiffel. "Name clashes", for example, are not a big deal: if classes <eiffel>A</eiffel> and <e>B</e> both have a feature with the same name <e>f</e> and class <e>C</e> inherits from both, you can either specify that they should be merged, or keep them separate through the <e>rename</e> mechanism. Details below.
|
||||
|
||||
<h2>Multiple inheritance basics</h2>
|
||||
|
||||
Multiple inheritance happens as soon as you list more than one class in the <e>inherit</e> clause at the beginning of a class. For example:
|
||||
|
||||
<eiffel>
|
||||
class PRINTER feature
|
||||
... Here the features specific to printers ...
|
||||
end
|
||||
|
||||
class SCANNER feature
|
||||
... Here the features specific to scanners ...
|
||||
end
|
||||
|
||||
class MULTI_FUNCTION_PRINTER inherit
|
||||
PRINTER
|
||||
SCANNER
|
||||
feature
|
||||
... Here the features specific to printer-scanners ...
|
||||
end
|
||||
</eiffel>
|
||||
|
||||
As with single inheritance, the new class has access to the parent features, except that here they are features of two different parents. For example if <e>PRINTER</e> has feature <print> and <e>SCANNER</e> has features <e>scan</e> and <e>scanned</e>, then the feature clause of <e>SCANNER</e> can include
|
||||
|
||||
<code>
|
||||
scan_and_print
|
||||
-- Scan a page and print it.
|
||||
do
|
||||
scan -- Leaves result of scan in `scanned'
|
||||
print (scanned)
|
||||
end
|
||||
</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
5
documentation/current/_others/draft/test-page.wiki
Normal file
5
documentation/current/_others/draft/test-page.wiki
Normal file
@@ -0,0 +1,5 @@
|
||||
[[Property:title|Test page]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|6dc09e0f-b713-8c5b-799f-36a60264e8f8]]
|
||||
Test page for Book "Draft"
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 59 KiB |
@@ -0,0 +1,3 @@
|
||||
title=static documentation page
|
||||
author=halw
|
||||
path=content/static-documentation-page
|
||||
186
documentation/current/_others/guide/index.wiki
Normal file
186
documentation/current/_others/guide/index.wiki
Normal file
@@ -0,0 +1,186 @@
|
||||
[[Property:title|Guide]]
|
||||
[[Property:description|Central repository of information about Eiffel and the products and technologies of Eiffel Software]]
|
||||
[[Property:link_title|Information Guide]]
|
||||
[[Property:weight|10]]
|
||||
[[Property:uuid|68b37685-64e9-f564-9258-29e709a55f44]]
|
||||
'''Guide to Eiffel Information'''
|
||||
|
||||
These pages are the central repository of information about Eiffel and the products and technologies of Eiffel Software. They cover the online documentation, but also link to many valuable resources outside the documentation set.
|
||||
|
||||
If you are interested in [[Learning Eiffel|learning Eiffel, there is a list of resources]] dedicated to that purpose.
|
||||
|
||||
The online documentation is organized into virtual books. Each book covers an important aspect of the world of Eiffel. For cases in which it is not always possible to use the online version of the documentation, all or selected parts of the documentation set can be [[Offline use of the Eiffel documentation|downloaded for offline use]].
|
||||
|
||||
* [[Guide]] -- Guide to Eiffel Information
|
||||
* [[EiffelStudio]] -- The EiffelStudio Interactive Development Environment
|
||||
* [[Solutions]] -- Eiffel Solutions, Technologies, and Class Libraries
|
||||
* [[Platform specifics]] -- Specific support for particular platforms, e.g., Microsoft Windows
|
||||
* [[Method|Method and Language]] -- The Eiffel Method and Language
|
||||
* [[Why Eiffel?]] -- Why Eiffel?
|
||||
* [[Papers]] -- Technical and position papers relating to Eiffel and the engineering of high quality software
|
||||
* [[Examples]] -- Contributor supported examples of Eiffel solutions to common programming problems
|
||||
* [[Community]] -- Community Contributions
|
||||
<!--break-->
|
||||
Sources of information on Eiffel include:
|
||||
|
||||
==Books in the Eiffel Documentation==
|
||||
----
|
||||
|
||||
===[[Guide]] -- Guide to Eiffel Information===
|
||||
|
||||
:You are reading this book now.
|
||||
|
||||
===[[EiffelStudio]] -- The EiffelStudio Interactive Development Environment===
|
||||
|
||||
:Information about installing and using EiffelStudio
|
||||
|
||||
===[[Solutions]] -- Eiffel Solutions, Technologies, and Class Libraries===
|
||||
|
||||
:Technologies available with Eiffel provide solutions to many ordinary development needs ... and some extraordinary needs too. This book addresses these requirements and the Eiffel technologies that satisfy them.
|
||||
|
||||
===[[Platform specifics]] -- Support for particular operating systems===
|
||||
|
||||
:Although most Eiffel technology is completely platform-independent, Eiffel also provides important platform-specific solutions, described in this book.
|
||||
|
||||
===[[Method|Method and Language]] -- The Eiffel Method and Language===
|
||||
|
||||
:Materials promoting the understanding of the Eiffel software development method and the Eiffel programming language.
|
||||
|
||||
===[[Why Eiffel?]] -- Why Eiffel? ===
|
||||
|
||||
:A summary of the arguments for using Eiffel.
|
||||
|
||||
===[[Papers]] -- Technical and position papers relating to Eiffel===
|
||||
|
||||
:This book is a place for white papers which provide background, foundation, or supplemental information about the the Eiffel method and language as well as the goal of engineering high quality software.
|
||||
|
||||
===[[Examples]] -- Contributor supported examples of Eiffel solutions to common programming problems===
|
||||
|
||||
:Let's build a set of examples that can be shared on popular WWW program chrestomathies.
|
||||
|
||||
===[[Community]] -- You can contribute to the documentation!===
|
||||
|
||||
:EiffelStudio documentation is available in a convenient Wiki format. This makes it possible to improve the documentation continuously and make sure it is always up to date.
|
||||
|
||||
|
||||
|
||||
'''Community input''' is welcome. If you are interested in improving and developing EiffelStudio documentation, you can become a ''contributor'' or ''editor'':
|
||||
|
||||
* Contributors can edit existing pages in any book and add pages to Community Contributions books.
|
||||
|
||||
* Editors can modify and add pages in any book (including adding Community Contribution pages to an existing book).
|
||||
|
||||
To become a contributor, you should be proficient in Eiffel technology and have good written English skills. To become an editor, you should already have made significant improvements or additions as a contributor.
|
||||
|
||||
If you are interested in becoming a contributor, please send an email to info@eiffel.com with a short description of your Eiffel experience and any other relevant background. We look forward to your contributions!
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
==Other sources of information on Eiffel==
|
||||
|
||||
----
|
||||
|
||||
|
||||
===The [http://eiffel.com Eiffel.com] website===
|
||||
|
||||
Eiffel Software's website [http://eiffel.com Eiffel.com] contains an enormous amount of information about Eiffel. There are product descriptions, special pages for developers and their managers, case studies and testimonials, the latest Eiffel news, and much more.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===[http://eiffel.com/developers/presentations/ Web Presentations] on Eiffel.com===
|
||||
|
||||
Learn quickly about Eiffel and the things that help make it special, like Design by Contract and EiffelStudio. Learn how Eiffel fits in with and compares to other popular technologies. All this and more is available on the [http://eiffel.com/developers/presentations/ presentations page] on Eiffel.com.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===[http://eiffel.com/developers/learning_maps/ Learning Maps] on Eiffel.com===
|
||||
|
||||
Get an in-depth view of topics by navigating the [http://eiffel.com/developers/learning_maps/ Eiffel Learning Maps]. Learning maps represent knowledge as a network of interrelated concepts. Attached to the concepts you may find links to additional resources. These resources can be just about anything. You'll find plain text files, web pages, screen shots, and even Eiffel Learnlets. Learnlets are small units of learning in web presentation form that are designed to take no more than 30 minutes to view ... just right for your lunch break.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The [http://www.eiffelroom.com/ EiffelRoom] Website===
|
||||
|
||||
[http://www.eiffelroom.com/ EiffelRoom] is an Eiffel community website on which Eiffel developers from across the globe come together and share their experiences ... and their products. You'll find how-to articles, tips and tricks, example code, whole libraries of EIffel classes, and specialized products. It is easy to contribute to EiffelRoom and start giving back to the community.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The Eiffel Software User Group===
|
||||
|
||||
The Eiffel Software Users' Group is a focus group for those who use the products of Eiffel Software. Its primary communication vehicle is a [http://groups.eiffel.com/ collaborative discussion group]. The group mailing list is monitored by Eiffel Software developers and many highly experienced Eiffel programmers. So if you have questions or comments about Eiffel Software products, this is a good place to be.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The EiffelWorld Newsletter===
|
||||
|
||||
A few times a year, we send out an email newsletter containing announcements of new versions of products, upcoming events, newly added technologies, website changes, editorials, and contributions from the community. To subscribe send a request to [mailto:info@eiffel.com info@eiffel.com].
|
||||
|
||||
|
||||
----
|
||||
|
||||
===[[Object-Oriented Software Construction, 2nd Edition]]===
|
||||
|
||||
There is no better place to gain an in-depth understanding of the Eiffel software development method than [[Object-Oriented Software Construction, 2nd Edition]], by Bertrand Meyer, published by Prentice Hall. It is the world's most complete guide to building great object-oriented software.
|
||||
|
||||
|
||||
----
|
||||
|
||||
===Other [[Books about the Eiffel Method and Language|books about the Eiffel Method and Language]]===
|
||||
|
||||
|
||||
----
|
||||
|
||||
===The Standard: ''Eiffel: Analysis, Design, and Programming Language''===
|
||||
|
||||
Eiffel has been standardized under ISO and ECMA. The comprehensive description of the standard Eiffel programming language is presented in [http://www.ecma-international.org/publications/standards/Ecma-367.htm Standard ECMA-367].
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
===Contribute to Eiffel===
|
||||
|
||||
You can help Eiffel by contributing your time, expertise, and products. Here are some websites that you can visit to see what's up with the development of Eiffel Software products.
|
||||
|
||||
====[http://dev.eiffel.com dev.eiffel.com]====
|
||||
|
||||
:This [http://dev.eiffel.com wiki site] is the hub of development activity for the EiffelStudio interactive development environment. Even if you do not plan to contribute, dev.eiffel.com is a valuable source of information concerning where EiffelStudio is going ... and, if you're curious, where it has been.
|
||||
|
||||
====[http://eiffelstudio.origo.ethz.ch/ EiffelStudio on Origo]====
|
||||
|
||||
:[http://eiffelstudio.origo.ethz.ch/ EiffelStudio on Origo] contains blogs and forums focusing on Eiffel and EiffelStudio topics.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----
|
||||
|
||||
==[[uuid:b8c10baa-4f50-adfe-a6f8-9cb56a8f1917|Glossary of Object Technology]]==
|
||||
|
||||
----
|
||||
|
||||
|
||||
This is a relatively comprehensive glossary of terms used in Object-Oriented Analysis, Design, and programming, but are not specific to the Eiffel Language, since object-oriented principles can be applied to any programming language. It contains all the terms from the glossary in [[Object-Oriented Software Construction, 2nd Edition]], plus others used in this website, added for clarity and ease of reference.
|
||||
|
||||
This glossary is useful all by itself, since a review of it can serve as a refresher (in case you have been away from Object Technology for a while). It is used in this website to assist the reader by providing easy links to technical terms that are used throughout the website.
|
||||
|
||||
Additionally, it is possible to link to terms in this glossary from other websites by using links that look like this:
|
||||
|
||||
:<nowiki>http://docs.eiffel.com/book/guide/glossary-object-technology#Attribute</nowiki>
|
||||
|
||||
or a version that will survive the page being moved:
|
||||
|
||||
:<nowiki>http://docs.eiffel.com/isedoc/uuid/b8c10baa-4f50-adfe-a6f8-9cb56a8f1917#Attribute</nowiki>
|
||||
|
||||
Note that the anchor (the part after the "#") has to be spelled and capitalized exactly like the term on the page. (Use underscore characters to replace spaces.)
|
||||
|
||||
----
|
||||
|
||||
54
documentation/current/_others/guide/learning-eiffel.wiki
Normal file
54
documentation/current/_others/guide/learning-eiffel.wiki
Normal file
@@ -0,0 +1,54 @@
|
||||
[[Property:title|Learning Eiffel]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|a30e29fe-841d-4634-ded2-88ae1754e5fd]]
|
||||
If you are new to Eiffel and are interested in learning the technology, you might consider some of the following resources. Remember that Eiffel, unlike other programming languages, is not just a programming language. Instead, it is a full life-cycle framework for software development. As a consequence, learning Eiffel implies learning the Eiffel Method and the Eiffel programming Language. Additionally, the Eiffel development environment EiffelStudio is specifically designed to support the method and language. So having an understanding of the method and language helps you to appreciate the capabilities and behavior of EiffelStudio.
|
||||
|
||||
|
||||
=Online presentations=
|
||||
|
||||
Your first stop in getting acquainted with Eiffel might be the collection of [http://eiffel.com/developers/presentations/ online presentations] on the [http://eiffel.com eiffel.com] website. These presentations each usually take less than an hour to view, and give an introduction to Eiffel concepts including Design by Contract, the EiffelStudio development environment, and includes several presentations that describe selected Eiffel features in relation to those of other other development tools.
|
||||
|
||||
=Online documentation set=
|
||||
|
||||
The [http://docs.eiffel.com docs.eiffel.com] site contains the online documentation for the Eiffel method, tools, and language. Within the documentation set are tutorials to help you learn about the Eiffel programming language and tools.
|
||||
|
||||
==The Eiffel Tutorial==
|
||||
|
||||
A [[An Eiffel Tutorial (ET)|tutorial]] that covers the Eiffel Method and much of the Eiffel programming language.
|
||||
|
||||
==The EiffelStudio Guided Tour==
|
||||
|
||||
This [[EiffelStudio: A Guided Tour|guided tour]] is good way to get a feel for what EiffelStudio can do.
|
||||
|
||||
=Academic materials available online=
|
||||
|
||||
Many colleges and universities use Eiffel to teach "best practices" in software engineering. Often the materials used in courses are available on the worldwide web. For example, the teaching materials for courses at the Swiss Federal Institute of Technology in Zurich are available at [http://se.ethz.ch/teaching/index.html this web address].
|
||||
|
||||
If you search the web, you can find similar materials at other academic institutions.
|
||||
|
||||
=Learning maps=
|
||||
|
||||
For certain specific areas of learning, the eiffel.com website includes conceptual [http://eiffel.com/developers/learning_maps/ learning maps]. These are graphical maps that link concepts with their relationships. Each concept can have multiple learning resources attached to it. One of the most prevalent types of resources is the "Learnlet", a short online presentation (less than 30 minutes) covering a specific concept.
|
||||
|
||||
=Books=
|
||||
|
||||
To find information about the most up-to-date books about Eiffel, look [[Books about the Eiffel Method and Language|here]].
|
||||
|
||||
=Examples and sample code=
|
||||
|
||||
Throughout the documentation site, there are many code snippets designed to illustrate certain language features or design principles. For example, the code snippet [[ET: Inheritance#Redefinition|here]] shows the mechanics of redefining an inherited feature.
|
||||
|
||||
In the EiffelStudio distribution you will find a subdirectory "<code>examples</code>" which contains many examples of using Eiffel, primarily with the Eiffel class libraries.
|
||||
|
||||
A third source of examples is the [[Examples]] book in the documentation pages.
|
||||
|
||||
=Eiffel Programming Language Syntax=
|
||||
|
||||
The documentation site includes a summary of the [[Quick reference to the Eiffel programming language|syntax of Eiffel]] the language. This summary is intended to reflect the state of the current official [[ECMA Standard 367|ISO/ECMA Eiffel standard document]].
|
||||
|
||||
However, usually you will find that there are differences in the syntax supported by EiffelStudio's compiler and that defined in the current standard. The differences between the standard and the EiffelStudio implementation are summarized in the [[EiffelStudio release notes]] and in a [[Differences between standard ECMA-367 and Eiffel Software implementation|documentation page]] that is specific to that purpose.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
[[Property:title|Offline use of the Eiffel Documentation]]
|
||||
[[Property:link_title|Download Documentation]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|e5f003f6-c732-c648-fd67-91f6642130f0]]
|
||||
It is possible to download the books of the Eiffel online documentation for viewing offline with a web browser.
|
||||
|
||||
To do this you use a [http://docs.eiffel.com/static/ web page] which has links to downloadable files that contain copies of the documentation in different forms and quantities.
|
||||
|
||||
|
||||
[[Image:static documentation page|Downloadable documentation]]
|
||||
|
||||
|
||||
The files are ".7z" files, meaning that they are compressed archives in [http://www.7-zip.org 7-zip] format. So, you can use any 7-zip compatible expander to unpack the files.
|
||||
|
||||
You'll notice that the options for downloading come in three groups:
|
||||
|
||||
# HTML: Multiple pages per book.
|
||||
# HTML: One big page per book.
|
||||
# WikiText+meta: raw files containing wikitext (backup)
|
||||
|
||||
You should choose your files from one of the HTML options (the WikiText option is used for backup).
|
||||
|
||||
It is possible also to download one documentation "book" at a time, or to download all books in one archive.
|
||||
|
||||
The files are static copies of the content of the online documentation, as reflected by the dates shown on the web page.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
[[Property:title|Common myths and misconceptions about Eiffel]]
|
||||
[[Property:link_title|]]
|
||||
[[Property:weight|2]]
|
||||
[[Property:uuid|056c0ab0-8e44-571f-f126-0b1850980754]]
|
||||
Often, when we speak about Eiffel to prospective users, we hear them repeat misinformation about the method, the language, or the tools. Most of the time, the stories are familiar to us … and untrue. Here are a few of the myths that we hear most often, as recounted and debunked by the series entitled [http://eiffel.com/developers/presentations/ "Where Eiffel Fits"].
|
||||
|
||||
|
||||
==Eiffel is an "academic" language only: ''Whoa, wrong! Twice!''==
|
||||
|
||||
Recently, I was offered the opportunity to speak to a local technology group about Eiffel for Microsoft .Net. The leader of this group is part of a small commercially-oriented software development company. Concerning Eiffel, he said, “All I know about Eiffel is that it’s an academic language.”
|
||||
|
||||
We hear that one a lot … and it’s wrong … in two unrelated ways.
|
||||
|
||||
First, as you should know by now, Eiffel is a framework for software development. It has a full-lifecycle development method. The Eiffel method is supported by a notation we call the Eiffel programming language. The notation just happens to be designed such that when it contains sufficient detail, it can be compiled into a running software system. Additionally, the method and language are supported by a set of tools including an interactive development and compiler. So to refer to Eiffel only as a "language" is to do injustice to the complete framework of which the language is only one part.
|
||||
|
||||
Secondly, I’m not sure what “academic language” means exactly, but if it means only used in an academic setting, or not fit for practical work, then this could not be farther from the truth. It is true that Bertrand Meyer who developed the original Eiffel concepts has academic background and is well-respected in the academic community. It’s also true that many of those Eiffel ideas evolved from work that was done by other academic computer scientists and mathematicians. And it’s true that many colleges and universities use Eiffel to teach the best practices of software development.
|
||||
|
||||
But Eiffel is also used successfully in many commercial and government endeavors. If you have any doubts, pay a visit to [https://www.eiffel.com/company/customers/testimonials/ eiffel.com] and check out the success stories and customers testimonials.
|
||||
|
||||
|
||||
==Eiffel is not for doing "real" work: ''That's a joke, right?''==
|
||||
|
||||
Occasionally we’ve heard people say that Eiffel is only suitable for building “toy” systems.
|
||||
|
||||
This is similar to the "academic language" argument and is just as false.
|
||||
|
||||
In actuality, we see Eiffel being used often in situations in which other technologies fail. If anything it is the other commonly used technologies that tend to break down under stress.
|
||||
|
||||
We see Eiffel being used instead of other technologies for systems in which scalability and reliability are essential.
|
||||
|
||||
One of our customers is an organization that has developed a payroll system using Eiffel that every week pays over two hundred thousand employees in twenty thousand different institutions … the people in this organization would assure you that Eiffel is indeed industrial grade.
|
||||
|
||||
|
||||
==Not many people are using Eiffel: ''You wouldn't want to share an elevator with them all!''==
|
||||
|
||||
The answer to this one depends a bit upon your frame of reference. Some time ago Microsoft estimated that there were twenty million Visual Basic programmers world wide.
|
||||
|
||||
If this is true, then relatively speaking, we have to admit that Eiffel’s market share ''is'' considerably smaller than that of Visual Basic.
|
||||
|
||||
Despite that, it’s not correct to say that not many people use Eiffel. Eiffel licenses world wide number in the tens of thousands. If you use Eiffel, you are not alone. These license-holders have formed a lasting worldwide quorum. Many world-class organizations are committed now, and will continue to be committed to the Eiffel framework. There is support through your maintenance contract with Eiffel Software. Help and information are available online in the form of the [https://www.eiffel.com/company/customers/ Eiffel Software users’ list] and websites like [http://community.eiffel.com/room/ EiffelRoom].
|
||||
|
||||
Eiffel Software's dual licensing model gives developers the opportunity to learn Eiffel without a great initial financial commitment.
|
||||
|
||||
So, don’t worry about it, plenty of people use Eiffel … and those numbers are increasing constantly.
|
||||
|
||||
|
||||
==If we use Eiffel, we may not be able to find qualified programmers: ''Gimme a break.''==
|
||||
|
||||
Through the years some potential Eiffel users have expressed to us a concern that if they embrace Eiffel, that they may not be able to find a sufficient number of qualified developers.
|
||||
|
||||
This is of course incorrect.
|
||||
|
||||
First, almost all Eiffel people were proficient in some other technology before they became Eiffel people. It turns out that this really works to your advantage. You see, Eiffel people want to stay Eiffel people. So an Eiffel programmer on the job market will be searching for an Eiffel position first, and would probably rather have a root canal than to go back to working in his or her previous technology.
|
||||
|
||||
Additionally, it is important also to understand that Eiffel developers are easy to create. Because Eiffel is simple, clean, and elegant, it doesn’t take long to get people going with it. I teach a five-day course that contains fifteen programming exercises. Each time I’ve taught the course, almost every student has finished every exercise. Students leave with a good foundation for how to begin saving time and money for their organization by constructing quality software with Eiffel. These people can be fluent in Eiffel in as little as a couple of months. This can be contrasted with the other extreme ... a well-known Microsoft Windows expert told me a couple of years ago that he estimates it to take 5 to 7 years to become truly fluent in C++/COM programming on Windows. Programmers who are proficient in other technologies often experience Eiffel as a breath of fresh air.
|
||||
|
||||
|
||||
==Eiffel might not be around in five/eight/ten (choose one) years: ''Better recalibrate your crystal ball, Nostradamus!''==
|
||||
|
||||
I think the first time I heard this one, it was about 1989.
|
||||
|
||||
And of course, I’ve heard it many times in the years since.
|
||||
|
||||
And of course, it’s not true.
|
||||
|
||||
Eiffel is more complete and functionally superior in most ways to every other commercially viable software development technology … and there are enough people around who recognize this (that quorum of users I mentioned earlier) to ensure that Eiffel will be around for a long time to come.
|
||||
|
||||
It’s possible that twenty-five years from now, there will be a significantly better software engineering idea … but certainly there hasn’t been anything that’s come close since Eiffel’s original design in 1985. In most areas, other technologies are playing “catch-up” to Eiffel.
|
||||
|
||||
Besides, Eiffel constantly implements refinements and new capabilities with minimal impact on existing software. [[Void-safe programming in Eiffel|Void-safe programming]] is an excellent example of this.
|
||||
|
||||
You can get a feel for this issue by watching [http://channel9.msdn.com/posts/Charles/Emmanuel-Stapf-Eiffel-and-Contract-Oriented-Programming/ this video on Microsoft Developers Network Channel9]. Here you'll see Emmanuel Stapf, an engineer at Eiffel Software, speak with Mads Torgersen, one of Microsoft's C# language designers. You'll hear how Eiffel stays fresh and continues to set a technological standard worthy of the aspirations of other technologies.
|
||||
|
||||
So, don’t worry about it. Eiffel will be here.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
11
documentation/current/_others/why-eiffel/index.wiki
Normal file
11
documentation/current/_others/why-eiffel/index.wiki
Normal file
@@ -0,0 +1,11 @@
|
||||
[[Property:title|Why Eiffel?]]
|
||||
[[Property:description|arguments for using Eiffel]]
|
||||
[[Property:weight|11]]
|
||||
[[Property:uuid|df007537-c0dd-2ea6-233b-764ad483eb65]]
|
||||
This book collects arguments for using Eiffel.
|
||||
|
||||
Even though we in the Eiffel community know that Eiffel is the most advanced object-oriented software development framework on this planet, that fact may not be so obvious to everyone else. Consequently, we felt that it would be helpful to provide some brief documents that spell out the reasons why the people who have chosen Eiffel have been so successful.
|
||||
|
||||
You may find the information helpful if you are simply curious about Eiffel, if you are actively looking for a better development framework, or if you are busy trying to convince others to try Eiffel.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user