From Teaching Open Source
[edit] Project Name
EiffelStudio
[edit] Project Home Page URL
[edit] Tags
Eiffel, DBC, Design by contract, compiler, IDE, UI, libraries, subversion, C, GC, Garbage Collector
[edit] Project Description
EiffelStudio is a complete development environment available on numerous platforms. With a long history, the simplicity of the Eiffel language and its modular structures make it possible for newcomers to start contributing after a surprisingly short amount of time.
The Eiffel language is distinguished by the following properties:
- Full object-oriented model (not a hybrid with pre-O-O approaches).
- Genericity (constrained and unconstrained), inheritance (single and multiple).
- Design by Contract mechanisms (preconditions, postconditions, class invariants) for: analysis and design of reliable system; specification; automatic documentation; testing and debugging; control of the exception and inheritance mechanisms.
- Agents (closures, i.e. high-level function objects, with the power of lambda calculus).
- Designed for garbage collection and for highly efficient executables (performance comparable to C or C++).
In addition, Eiffel is not just a language but a method of software development emphasizing software engineering principles such as: seamless development (covering the full lifecycle, not just implementation, in a consistent way); reversibility; uniform access; open-closed principle; command-query separation. These principles are developed in the book "Object-Oriented Software Construction" (Bertrand Meyer, 2nd edition, Prentice Hall). The consequence for students is that using Eiffel means the ability not only to produce programs but to learn a software engineering discipline that will help them throughout their career.
[edit] Project Issue Tracker URL
Currently there is not yet an open issue tracker although we are working on one for the 3rd quarter of 2009. In the meantime, issues should be submitted to http://support.eiffel.com and discussed in our development forums or IRC.
[edit] Project IRC Channel information
irc://irc.freenode.net/#eiffelstudio
[edit] Project Mailing Lists Information
The user mailing list is at: http://groups.eiffel.com.
For various developments, we use the Origo forums at http://eiffelstudio.origo.ethz.ch/forum.
You can also use the IRC channel listed above.
[edit] Individual Mentor Contact Information & Areas of Expertise
Our mentors are:
- Alexander Kogtenkov: Compiler, runtime (Moscow - Russia)
- Jocelyn Fiat: EiffelStudio debugger, libraries, web, runtime (Grenoble - France)
- Ian King: EiffelVision2, Compiler, Testing, libraries (Los Angeles - USA)
- Larry Liu: Docking, EiffelVision2, Testing, libraries (Shanghai - China)
- Emmanuel Stapf: EiffelStudio, Compiler, runtime, libraries (Santa Barbara - USA)
- Paul Bates: EiffelStudio, libraries (Santa Barbara - USA)
- Ted Feng: EiffelStudio, Internationalization, runtime & exception (Shanghai - China)
- Peter Gummer: Long time Eiffel user, .NET , SCons (Australia)
It is best to contact them via our forums or via the #eiffelstudio IRC channel.
[edit] Project Ideas List URL
The general project list ideas is located at http://dev.eiffel.com/Category:Projects.
The more structured list that was submitted to the Google Summer of Code is at http://dev.eiffel.com/soc_2009.
[edit] Mentor Capacity
We are interested mostly in mentoring students, but are also open to educators. Eiffel and EiffelStudio have been used for teaching at ETHZ (http://www.inf.ethz.ch & http://se.inf.ethz.ch) and in some cases, the EiffelStudio code was even modified by students for their class.
Because the EiffelStudio Team is scattered through out the world, most likely you will find a mentor who is in a time zone that fits the students/educators well. In some cases, i.e. not geographically too far from mentor), we could envision having face to face meetings with students/educators and also making some presentations.
[edit] Links to Information about our Community
You can find more information about Eiffel and EiffelStudio on the following links:
- Development page: http://dev.eiffel.com
- Documentation page: http://docs.eiffel.com
- User mailing list page: http://groups.eiffel.com
- Forums page: http://forums.eiffel.com
The EiffelStudio development team is scattered through out the world (USA, France, China, Russia) and is used to work remotely. We do face to face meetings for people in the same geographical area, but often perform skype meeting to discuss things.
If you are interested in working with us, you will be part of the EiffelStudio development team regardless of where you are. We are very keen in expanding our developer base and include more contributors to the Eiffel technology.