Monday, 13 July 2015

[Eiffel] first impression

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

2 comments :

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

    ReplyDelete
  2. A great introduction from Colm Ó Dúnlaing at http://www.maths.tcd.ie/~odunlain/eiffel/eiffel_course/eforb.htm.

    ReplyDelete