SmartEiffel 1.0 Released
Per Wigren writes "Today SmartEiffel, the GNU Eiffel-compiler finally reached 1.0! Eiffel is a very underrated language in the free software community for some strange reason.. Hopefully this will help to gain some interest in this extremely powerful, fast, easy-to-read, easy-to-learn, almost self-debugging language!"
I'd not call it is "forced" Object Orientation, but rather it is OO plus pre- and post-conditions in a methodology known as Design By Contract.
Well, as a current student at the University of Notre Dame, Eiffel was used in our Data Structures course. We basically had two options, Eiffel or C++. Not a lot of people picked up on Eiffel simply because they were stubborn. But as a whole, the Eiffel coders had consistently better projects and overall success. It's purely O-O, so that takes some getting used to. The Design By Contract is an excellent tool for writing perfect code the first time, thus getting a larger systems to market faster. And the libraries that are available are excellent. The STL is simply not good enough relative to EiffelBase. Bertrand Meyer, founder of Eiffel Software, gave three distinguished lectures here this week, and another to our class, and he's very convincing when it comes to his methodologies. It's a great language for teaching O-O and Contracts. Additionally, the same code runs on multiple platforms, and EiffelStudio is available for free for Windows and Linux. EiffelVision also makes it possible to create GUI's that will compile on Windows and Unix too.
actually, I was a TA in a class that used Eiffel.
Being an experienced Java programmer also,
I would say that:
What's it good for?
It lets you ensure that the program you write does what you intend. (This is called Design by Contract. It works better than any alternative I've encountered.)
It manages multiple inheritance and limited generics in a way that C++ can't even try to approach. (Ada can do it, but it's a lot more work.)
And despite what has been said earlier, it isn't a memory hog during compilation. Not compared with the current competition. (Unless you are comparing it with C, of course.)
It's got a built-in garbage collector. Many languages do now, but it was quite unusual at the time, and it's still one of only a few compilable languages (excepting gcj == java) that have a gc.
It's got a good documentation system. Better than javadoc. (But the presentation isn't as nice unless you purchase the ISE development platform...which I don't recommend.)
I think we've pushed this "anyone can grow up to be president" thing too far.
The wxEiffel GUI library provides a comprehensive interface to the wxWindows GUI. Database interfaces to Firebird, sqlite, berkeley db, mysql, postgres.
There are even libraries for Regular Expressions and for those who like the perl way of doing things - see Perlish.
The 0.5 release announcement in comp.os.linux.announce gives more details. The ELJ project is undertaking the necessary work to move from SmallEiffel to SmartEiffel.
There are many other open source Eiffel projects:
Eiffel has come a long way over the years. Misconceptions still abound. You can now develop multiplatform applications using open source Eiffel tools and libraries. There are small hurdles to jump as there are with anything. Give it a try and become involved if there is something about Eiffel which you find appealing.
Eiffel has been around for about 17 years, so a lot of people who used it a long time ago and haven't used it since moan about old problems with the language THAT SIMPLY DON'T APPLY MORE. Here is an up to date list of cool things about Eiffel:
.NET language. Eiffel Software have made a Visual Studio plug-in, and EiffelStudio (previously EiffelBench, or EBench) can also be used to make .NET or non-.NET applications.
.NET implementation of Eiffel adds some programming mechanisms that are NOT available in Java, C#, C++. Namely these are multiple inheritance of classes, genericity (true generics), design by contract (pre- and post- conditions/assertation to improve software reliabilty and greatly ease the debugging process).
.NET plug-in) from there web site.
- Compilation is not so slow anymore.
- It a full
- EiffelStudio is the IDE for creating Eiffel applications was COMPLETELY REWRITTEN a couple of years ago, so previous uses of EiffelBench won't recognise it anymore. The new studio is better in every respect and has the best class browsing facilities you will find in any IDE ANYWHERE (I'm not kidding).
- EiffelStudio was written using Eiffel Software's Vision2 library - a 100% platform independent library meaning it is identical on Windows and *nix platforms. You can use Vision2 to make your own cross-platform interfaces with real ease.
- The
- Eiffel Software provide a FREE version of EiffelStudio and Envision! (the
There's loads more to this language, but aint got time to talk about it, so just check it out yourself.
Rake Free + Mac Poker: CardCrusade
For a nice IDE for Eiffel you should get the Eiffel extension for the SNiFF+ environment
http://www.willamowius.de/eiffel.html
There are free versions of SNiFF+ for projects up to 200 (?) classes which should be ok for starters.