Cool Things You Can Do with Eiffel!

Part of the marketing challenge of Eiffel is that Eiffel does so much for so many situations.

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
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.
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.
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!
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 days.
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.
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.
You can Eiffel-code on whatever OS you like to work on Then send it to the machine your boss MAKES you work on.  : )
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.
Easily migrate a C or C++ application It's easy - you simply encapsulate the application (or the desired parts of it) in Eiffel, compile, and you are done.
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.
Increase your productivity 10 fold or more. 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.
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.
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.
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.
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.
Use Extreme Programming (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™.
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.
Easily use the same application with different databases ... by changing just a single line of code!
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.
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:

Bookmark and Share