Frequently Asked Questions on EiffelStudio

< Back

We highly recommend that you first take a look at our FAQ document on the Eiffel Language.

Classic EiffelStudio

EiffelStudio for .NET Questions


Classic EiffelStudio

 

What is 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, EiffelStudio provides facilities that will help your team to develop from initial design time, right through deployment, testing, and maintenance. Built in functionalities 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. EiffelStudio also has superb browsing mechanisms for viewing information about your code and it performs and behaves at execution. From full feature browsing, to built in metrics and profiling, EiffelStudio can give you information on almost anything about your system.

    Centered around the Design by ContractTM methodology, EiffelStudio's debugger will allow your software to find the bugs for you, minimizing the costs of maintenance that systems designed with other languages have to endure. Coupled with a 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, reducing project costs even further.

    View corresponding presentation

What is the difference between Eiffel and EiffelStudio?

    Eiffel is the language a developer uses to write great software. EiffelStudio is the environment and toolkit that surround the Eiffel language.

Ok, well then what is unique about EiffelStudio?

    There are several features that differentiate EiffelStudio from other development environments and toolsets:
     

    • Created for Eiffel and Object-Oriented technology.
    • Runs virtually on any OS platform making it one of the (if not the) most portable environments available.
    • Built-in metrics, profiling, and Computer Aided Software Engineering (CASE) tools to have a better overall view of your design at all stages of development.
    • Amazing browsing mechanism for viewing your code and giving you information on any part of your system to develop and optimize it to its full potential.
    • Powerful debugger to help you track down and fix the so called 'hard to find' bugs, therefore reducing project costs even further
    • Contains all of the tools in one easy to find place - there is no need to purchase expensive add-ons.

What about operating systems then? Where does EiffelStudio run?

    Eiffel is very portable, a feature that developers love. It runs just about everywhere, including Windows (classic and .NET), Unix, Linux, VMS, and Mac OS X. This allows developers the flexibility to maintain their legacy code while developing new code on a completely different operating system.

Why the emphasis on reusability with EiffelStudio?

    More code → more maintenance → more costs.

    Reusability = less code → less maintenance → less costs.

    This is why EiffelStudio's features and mechanisms have been designed to enable the highest level of reuse.

    View corresponding presentation

How is EiffelStudio different from Borland, IBM Rational, and other IDE's?

    Most companies offer a variety of tools to address the different steps of application development also known as "software development lifecycle" -- define, design, develop, test, deploy, and manage -- without necessarily a natural bridge between them. 

    With EiffelStudio, the full software lifecycle is covered seamlessly in one entire package enabling the developer to easily practice full roundtrip engineering.

Who should use EiffelStudio?

    Anyone interested in creating high quality, robust, reusable, or business-critical software applications.

Is EiffelStudio compatible with / does it integrate with Visual Studio .NET?

    EiffelStudio is the exclusive environment for maximizing the productivity of Eiffel programming. With the advent of the multi-language possibilities in Microsofts Visual Studio .NET, two compatibility situations now arise: Are the applications I create in EiffelStudio compatible with those I create in Visual Studio .NET? The answer is YES, they are. Eiffel is fully .NET compatible, and any .NET applications (assemblies) you create in EiffelStudio are fully reusable with any other .NET language. Does EiffelStudio integrate with Visual Studio .NET? The answer to this is: EiffelStudio does not, but Eiffel ENViSioN! (our Eiffel-language plug-in for Visual Studio .NET) does. Please see our FAQ's on Eiffel ENViSioN! if you wish to use Eiffel within the Visual Studio .NET environment.

Won't I have to forsake my existing software, thus losing millions of dollars?

    Absolutely not. Eiffel is an open system, 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:

    • Calling C functions from Eiffel.
    • Accessing C++ classes and all their components (functions or "methods", data members, constructors, destructors etc.) from Eiffel.
    • 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.

What does the IDE look like?

    EiffelStudio is a fully graphical environment that includes all you would expect and more: analysis and design workbench with round-trip (or reversible) engineering, fast recompilation, editing, sophisticated browsing facilities, automatic documentation (see for example the descriptions of the "short form" below), an advanced debugging mechanism etc. Split screens allow you to perform multiple tasks in parallel (like browsing a visual class hierarchy while coding and debugging).Just as an illustration, without further explanations (which you will find by browsing around our pages), here is a screenshot from EiffelStudio:



What is BON?

    BON is the acronym for Business Object Notation, an analysis and design method that is based on concepts close to those of Eiffel (seamlessness, reversibility, contracting) and defines simple, intuitive graphical conventions. BON is particularly notable for its ability to scale up when you need to describe large and complex systems, keeping a view of the whole while zooming into the details of components at various levels of abstraction. EiffelCase, the Diagram Tool of EiffelStudio, supports BON. The method is described in the book, "Seamless Object-Oriented Software Architecture", by Kim Walden and Jean-Marc Nerson, that is available online.

    View BON website


EiffelStudio for .NET Questions

 

Is Eiffel transparent in .NET?

    Yes. Eiffel for .NET can be used in exactly the same way as classic Eiffel and no extra language constructs are required to produce applications.

    Eiffel brings quite a few unique and powerful features to .NET. Most noticeably it is the only .NET language to offer multiple inheritance and genericity since the first version of the .NET Framework. These two mechanisms are an indispensable aid to creating fully reusable software in a truly object-oriented way.

    Eiffel for .NET also brings the full benefits of Design By Contract, ensuring correctness of the software text, reliability, and robustness. Whilst some other .NET languages do support contract mechanisms, Eiffel for .NET is the only one to support them natively, as an actual language construct.

    Eiffel also brings some existing libraries to .NET, so aside from being able to use other .NET libraries such as Windows.Forms for graphical elements you could instead use Eiffel's WEL or EiffelVision2 libraries. EiffelVision2 is a particularly unique graphical library since it is multi-platform, thus ensuring that the compiled system will produce the same display and behavior on all supported platforms.

What UML tools do we support?

    EiffelStudio is capable of generating XMI (XML Metadata Interchange) information for any Eiffel system. The XMI notation makes it possible to exchange system information between any products which support this standard (e.g., IBM's Rational Rose).




Bookmark and Share