Frequently Asked Questions on EiffelStudio

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 an Integrated Development Environment (IDE), a software application that provides comprehensive facilities for software development, powered by the Eiffel language. Within EiffelStudio are a set of tools that that enable computer programmers to produce correct, reliable, and maintainable software and control the development process.  If you want to create fast, robust, scalable applications, then EiffelStudio™ is the tool for you.

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. 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.

Some examples of how EiffelStudio is used: a company developing financial applications will use it to exploit financial data and make decisions based on patterns found using our technology. A defense company will use EiffelStudio to make sure that the trajectory of a missile is precise using GPS coordinates. An insurance company to automate the claims process…

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 Microsoft VisualStudio, Eclipse, IBM Rational, and other IDEs?

Many software developers turn to EiffelStudio because they are not satisfied with many of the industry’s alternatives. Most companies offer a variety of tools to address the different steps of application development also known as “software development life-cycle” — 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 round-trip engineering.

Who should use EiffelStudio?

Anyone interested in developing core-business software applications that are scalable, long-lasting, advanced, adapatable and have high business value, whether you are in finance, defense, energy, healthcare or any other industry. EiffelStudio is also a solution of choice for Cloud Computing applications, alloying you to deploy your application on a server and enabling clients to access it remotely.

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:

editor

 For more views, see EiffelStudio screenshots page.

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).