Just read a blog from professor Bertrand Meyer at CACM. For me, it is the second time to hear about Eiffel. I can not recall when to read it before but just have a bit impression of this term.
I also searched my email@University and found some information about it. One is about a seminar from the professor but unfortunately I didn’t participate. And another news is about the honorary doctorate to the professor from my university (University of York) in 2014.
When I was reading the post, I am very interested in the concept of fixing bugs automatically by AutoFix. So took some time (about 4 hours) to read the introductions of Eiffel from Wikipedia and Eiffel Software. And there are some good presentations.
Some key features of Eiffel are shown below.
Eiffel Language
- Object-Oriented
- Inheritance
- Class
- Feature
- Create
- Invariant
- Design by Contract [Specification]
- Precondition by "require"
- Postcondition by "ensure"
- Class Invariant
- Inherited
- Static Typing
- Instead of dynamic typing
- Typing check before execution and done in compiler
- Void-Safety
- NullPointer is a nightmare (Java, C, ...)!
- Protect runtime errors caused by calls to null
- An attached variable is not allowed to be set to void
- SCOOP
- Only add one "separate" keyword
According to this (https://www.eiffel.com/resources/faqs/eiffel-language/#classic-compilestoc), Eiffel programs are compiled in to bytecode, then translated into C. That's very interesting and may facilitate cross-platform capability.
ReplyDeleteA great introduction from Colm Ó Dúnlaing at http://www.maths.tcd.ie/~odunlain/eiffel/eiffel_course/eforb.htm.
ReplyDelete