The Need For An Eiffel Room

by Martin Seiler (modified: 2007 Feb 13)

When I started to learn the C programming language I used a good book and just worked through all pages. Back then I was not very used to do "real" programming at all. I just had done a lot of BASIC programming. So reading about the different syntax and new unknown constructs like pointers was really exiting. Soon after I finished the book I got internet access and started to look for code examples, particularly how to setup the different VGA modes of the graphics card, which was sometimes done using assembler directly or calling some weird functions of a BIOS library.

From that point on I usually learned a new language by reading tutorials which I downloaded from the internet.

When I got at ETH in Zurich I felt like I knew already quite a lot about programming. I've done a lot of C/C++, VB, PHP and played around with Debian since two years. But then I was confronted with Eiffel. I remember one task which I seemed to dumb to solve: I wanted to load the contents of a file into a string. So I first asked Google to give me some tutorials about how to read a file. All that I found was the class description of the FILE class. Yes, it is embarrassing now, but nonetheless I want to explain what happened: I of course tried to instantiate it. And you can imagine how I struggled, stumbled, fell, got up again... walked a little shaky till I fell again. I felt frustrated about me, Eiffel and the world. The next morning we exchanged our experiences in trial and error coding of Eiffel. I was not the only one struggling, even though (or maybe because) I experienced other programming languages before.

So I went to my assistant and asked him how I can read a file in Eiffel. He said, well, you use this class called PLAIN_TEXT_FILE and... that was all I needed: PLAIN_TEXT_FILE!

Soon after that I tried to get random integer numbers. It is a story very similar to the first one.

And this is the point where should help: It should be a resource for tutorials, examples, packages and many more things. It has to be a web page, because nowadays information is found over Google. Sure you can read a book. But it is not anymore the primary way things work in early 2007. Sure you can ask the assistant at ETH any time. But if Google is able to find an answer, you just save a huge amount of time. So one reason we created the eiffelroom is to fill this gap. We want to give answers to practical questions Eiffel programmers have:

  • How can I download a web page?
  • How can I make an XMLRPC?
  • How can I render a 3D Model?
  • How can I do an SQL Query?

But the eiffelroom is also a platform to show our excitement about Eiffel where we can show all the cool things you can do with Eiffel and how simple it can be, if you only know where to start.