Of course, you can build great software from scratch with Eiffel. But since
Eiffel is so open, operating on multiple platforms and interacting with multiple languages,
it acts like the "glue" between disparate worlds. Think of it as the "Swiss Army
Knife" of tools.
So we thought we'd just make a list of just a few of the possible scenarios where Eiffel Software can make a huge difference in what you can do. Sometimes Eiffel just makes life faster, or more robust, or easier to construct/maintain/extend. Often, however,
Eiffel allows you to do things that you simply can't do with anything else.
| Did you know you can also use Eiffel to: |
Description |
|
 |
| Easily add contracts to classes for robust, unbreakable code |
Rapidly becoming
recognized as the design technique of the next decade, the Design by
Contract feature is native only to Eiffel. DbC makes your code much easier to
reuse (and thus more likely to BE reused)... and Native DbC makes DbC
easier to use than after-market implementations in other languages. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Add contracts to existing .NET assemblies |
You can consume .NET assemblies with Eiffel, and wrap the types with Eiffel classes that can then have contracts like any other classes created in Eiffel.
Click here
to learn more |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Make libraries
much easier to use with Design by Contract |
Design by Contract is also the easiest, most effective way to ensure the
fast and correct usage of library classes. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Easily migrate a C or C++ application from Unix to .NET |
It's easy - you simply encapsulate the application (or the desired parts of it) in Eiffel, compile, and you are done. |
| You need:
EiffelStudio |
 |
| Code an application once and compile anywhere |
Create applications (including GUIs) that will run identically on Unix, Linux, and Windows using Eiffel and our multi-platform GUI library,
EiffelVision2.
Click
here
to learn more |
| You need: EiffelStudio, EiffelVision2 &
EiffelBuild
|
 |
| Create an application in Eiffel and port to an embedded system |
Develop easily on a desktop platform using Eiffel's easy and powerful IDE, and then compile your Eiffel source down to optimized embedded code. |
| You need:
EiffelStudio |
 |
| Integrates
into Visual Studio.NET |
Eiffel now plugs directly
into Visual Studio .NET, showing up just like any other .NET language. |
| You need:
EiffelEnvision |
 |
| Use essentially unlimited multiple and/or repeated inheritance |
This is an essential difference between Eiffel "True O-O" and other partial O-O languages,
and is a key to making efficient systems. |
| You need: EiffelStudio
or EiffelEnvision
Click
here to learn more |
 |
| Inherit from non-Eiffel classes in .NET |
And you can do multiple and
repeated inheritance with .NET classes, just as if they were Eiffel classes. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Use XP and Agile techniques with Eiffel |
Eiffel's Melting Ice supports the XP notion of always having a running system. XP also makes you go back to the design often, and Eiffel's design naturally supports this. In XP, you design the test before you do the implementation - and the tests look a lot like Eiffel's Design by Contract.
Click
here to learn more |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Create a Company Knowledge Repository |
The high degree of
reusability of Eiffel objects (classes) makes it ideal for capturing
company experience in a large library or "knowledge repository", which
is then easily shared with more employees.
We have case studies that
thoroughly deal with this concept. To request case studies click
here. |
| You need: EiffelStudio
& EiffelEnvision |
 |
| Create Windows Device Drivers |
The high degree of reusability of Eiffel objects makes Eiffel ideal for easily creating new device drivers for
different hardware platforms without requiring rewrites. |
| You need:
EiffelStudio |
 |
| Create robust, rich, award-winning games |
If you have a great game
concept (e.g., with lots of variables/scenarios), Eiffel is a superb way
to express your concept - and it is very easy to maintain on multiple
platforms, and to extend into subsequent releases without giving up your
prior work!
More
info at:
http://www.furysoftware.com |
| You need:
EiffelStudio |
 |
| Make even your first Eiffel application reusable
and extendable |
Whether you designed it to be or not - because Eiffel code is reusable
and extendable by nature. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Contain WinForms components in EiffelVision2... |
And vice-versa! |
| You need: EiffelStudio
or EiffelEnvision |
 |
|
Have your domain experts contribute directly to your design |
Eiffel's syntax is so understandable, even non-programmers can understand the code!
Domain experts (e.g., business users and analysts, doctors, etc.) can
thus help design -- or even write Eiffel code directly -- using the CASE
tool. |
| You need: EiffelStudio
or EiffelEnvision |
 |
|
Make executables that run faster than work done in other languages |
Eiffel itself
makes it easier to inline and compile to an optimized ANSI-C, and then takes advantage of platform-specific optimized C-to-machine code compilations.
Resulting code is often much faster than hand-coded C/C++. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Catch bugs and errors earlier and keep them from being serious ones |
Design by Contract catches fundamental logic errors at compile (dramatically reducing the amount of runtime debugging).
Runtime errors are fewer and simpler to track down and fix.
Click
here to learn more |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Create your business model and then use it directly to implement |
You model the system in
Eiffel (graphically AND with code and contracts)... and when it's done,
that's what you use as your starting point for implementation. No more
throwing away the model and starting over!
Click here to see how |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Bring new programmers in to your team with almost no learning curve |
With Eiffel, it is typical to be able to become familiar with a 100kloc system in 3 days. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Make refactoring easier |
... using the
same tools you use to create the system! In Eiffel you can browse the existing code a lot more efficiently,
use the diagram tool on the fly (to add specific class types, features,
inheritance, client-supplier links, or make classes generic), and rename
classes much more easily. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Automatically document your system and publish it to an html
document |
You can create a website describing the latest rev of your system in minutes, complete with all assertions and
class structure shown via hyperlinks:
Click
here to see how! |
| You need:
EiffelStudio |
 |
| Use Java applications from .NET or non-.NET platforms |
Using the Java Native Interface API, you can create instances of Java classes on a JVM, and query and do other neat stuff too:
Click
here to learn more |
| You need: EiffelStudio and Eiffel2Java |
 |
| Call Eiffel from other languages |
Can call classic Eiffel from C code
(with EiffelStudio only), or within .NET using either EiffelStudio or
EiffelEnvision you can call Eiffel from any .NET language:
Click
here
to learn more |
| You need: EiffelStudio
+ CECIL, or EiffelEnvision |
 |
| Easily use the same application with different databases |
... by changing just a single line of code! |
| You need: EiffelStore |
 |
| Multiply your productivity by 10 |
In reuse situations by building a robust, generic library of your commonly-used business objects; and in any maintenance situations just by using Eiffel's clear syntax and DBC features. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Easily track down bugs at execution (without debugging
-- and almost without cost) |
And you don't have to go to your customer's site to find them -- just use Eiffel's exception tracing features.
Instead of having to visit your customer, just have them send you the
Eiffel exception trace, and you can easily figure out the cause of the
violation, right there over the phone. |
| You need:
EiffelStudio |
 |
| Create an application on Unix, and move to .NET whenever you want at the touch of a button |
Eiffel source code is common to ALL platforms EiffelStudio targets. So you can create one set of Eiffel source code, and compile it to any platform AND IT WILL RUN, AND RUN IDENTICALLY on every platform. Including .NET
(and soon Mac OS X)! |
| You need:
EiffelStudio |
 |
| Write your ASP.NET pages in Eiffel |
Use the new "EiffelCodeDOM" ASP.NET plug-in
(available here), and you are set! |
| You need: EiffelCodeDOM
(click here to download) |
 |
| Migrate a CORBA system to another platform (including .NET) |
As long as it does not use any C aspects of the Eiffel runtime, it is possible to take an application that uses even complex CORBA interfaces, and recreate it easily in Eiffel, and then migrate that to a different platform (even .NET)! There's no other way to do this as far as we know! |
| You need: EiffelStudio and Orb2 CORBA-Eiffel binding
available at: http://www.2ab.com/orb2.htm |
 |
| Save 30% of code duplication |
... using Eiffel generic types. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Model real life much more closely and easily |
... using Eiffel's powerful multiple inheritance mechanisms. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Save your company up to 80% on cost of app development |
... or even better, free up existing resources to focus on fun and proactive things, like how to get more customers with cool new capabilities. |
| You need: EiffelStudio
or EiffelEnvision |
 |
| Use your C++ classes from Eiffel |
You can wrap
those classes in Eiffel. |
| You need:
the Eiffel "legacy++" library that is included with EiffelStudio
or EiffelEnvision |
 |
| Add contracts to COM components to make them more robust |
When you consume a COM component in Eiffel it generates a skeleton with contracts so that Eiffel can call the COM component - and in this skeleton we can add contracts of the COM components. |
| You need:
EiffelStudio |
 |
| Use DBC transparently across COM servers |
A contract violation caught at the COM server will be displayed at the COM client. |
| You need:
EiffelStudio |
 |
| You can Eiffel-code on whatever OS you like to work on |
Then send it to the
machine your boss MAKES you work on. : ) |
| You need:
EiffelStudio |
 |
| Offer your team the option to use the IDE they prefer best |
You can work on your project from either EiffelStudio, or Visual Studio.NET - whichever makes your team most productive given your particular circumstances. |
| You need: EiffelStudio
or EiffelEnvision |