Jump to content

Question for Hubert - programming related


egarvue

Recommended Posts

Just a quick question that is not game-rules related: why did you choose ISE Eiffel for the programming language for this game? I am currently a DBA (using mostly SQL) going back to school to learn OO programming, and was wondering about the benefits of Eiffel. Thanks for your time

Link to comment
Share on other sites

I used Eiffel at University and really enjoyed the language, so in a way I guess decided to chart some new territory ;)

Now this is just me, and I can assure you that everyone out there has their favourite programming language, but I just found that in terms of OOP Eiffel has one of the purest and most elegant approaches. There are many benefits like true Multiple Inheritance, Garbage Collection and most importantly "Design By Contract". DbC still appears to be only found within the Eiffel language and in the most simplist of terms it basically allows you to specify "pre" and "post" conditions to all of your routines. The idea is that if you provide the proper information to the requested routine then that routine will guarantee a certain result. Needless to say it makes tracking bugs very quick and easy, and it also makes comments *almost* unnecessary since you can go back to a routine you wrote let's say 2 years ago and look at the contracts and instantly know what it's supposed to do!

Coming from a data base background you will probably feel right at home with the language since many of the principles found in entity-relationship diagramming are very similar to OOP and especially Eiffel's implementation of MI. Some good starting points would be the comp.lang.eiffel newsgroup or the ise_users group at Yahoo groups or even www.eiffel.com.

I would also suggest picking up a copy of "Object-Oriented Software Contruction" by Bertrand Meyer which I found to be an excellent primer to many of the principles of OOP and some of Eiffel's strengths as compared to other languages.

Good luck!

Hubert

Link to comment
Share on other sites

×
×
  • Create New...