Slashdot Mirror


Eiffel Programming Contest Results

Berend de Boer writes "NICE, the nonprofit International Consortium for Eiffel, has announced the results of its fifth International Eiffel Programming Contest. This year had cash prizes of up to 1400 USD and software valued up to $8000 USD. There were 17 entries. The top scores were:ePalm, bringing Eiffel to PalmOS; ewg, generating C code binding glue; and Hbchess, a chess engine."

14 comments

  1. ePalm by ajagci · · Score: 4, Interesting

    Technically, ePalm sounds like it might be a good thing. SmartEiffel, which it is based on, can generate quite compact native code even from large, object-oriented libraries because it performs global optimizations; that makes it a better choice than VM-based systems like Java or .NET. Furthermore, PalmOS doesn't isolate programs very well from one another, so a language like Eiffel, with built-in garbage collection and error checking, has a real advantage over C.

    Still, SuperWaba probably fills that niche well enough and Palm handhelds are getting powerful enough so that the advantages of ePalm won't be big enough to let it catch on.

    1. Re:ePalm by advocate_one · · Score: 4, Informative
      tis a pity the project has been moribund in pre-alpha stage since the last release in Aug 2001...

      never mind... it won't hurt to have a play with it... :)

      --
      Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  2. Pity by Euphonious+Coward · · Score: 4, Insightful
    It's a shame they didn't get submissions that would have suggested relevance for the language -- i.e., programs that demonstrate the language used to do something actually useful. As it is, they were obliged to award (1) a platform port, (2) an adapter to call code in some other language, and (3) something for playing games. All are (no doubt) fine efforts, but none of them would make anyone not already committed to Eiffel feel a need to look into it.

    The unison program written in OCaml does a job not done by any other program I know of, does it well, and has inspired many to look into the language. Freenet inspired me to install a JVM to try it out. (I deleted both based on the experience, but that doesn't detract from the lesson -- I did try it.) The number of really useful programs written in Perl far exceeds the merits of the language itself, but continues to inspire new users. Python came from behind, but the deep value of many of the programs written in it ensured its enduring success.

    To demonstrate the value of an obscure language, don't write yet-another text editor, IRC client, or RSS aggregator. We don't need any more, and we will feel no desire to try yours. Write something useful that's hard to write in other languages, or (better) hard to write in any language. The obscure language will get some (much-needed) reflected credit from the effort, and if it really helps, that will become evident (only!) when people are inspired to read the code.

    1. Re:Pity by sporty · · Score: 2, Insightful
      To demonstrate the value of an obscure language, don't write yet-another text editor, IRC client, or RSS aggregator. We don't need any more, and we will feel no desire to try yours. Write something useful that's hard to write in other languages, or (better) hard to write in any language. The obscure language will get some (much-needed) reflected credit from the effort, and if it really helps, that will become evident (only!) when people are inspired to read the code.


      Nothing is hard to write.. it's usually just tedious. Given 5 years, I'm sure I can write a browser that is a mimic of opera and what have you. Showing simple solutions, i.e. a text editor, an email client, a clock (since that's graphical) shows what can be done in a language without having to deal with developing a complex architecture. Architectures tend to be unique to the situation and reverse engineering the patterns without an overhead view is quite tedious in itself.
      --

      -
      ping -f 255.255.255.255 # if only

    2. Re:Pity by Euphonious+Coward · · Score: 3, Insightful
      Of course anything already done will be easy to copy. Anything interesting, by definition, demands serious thought. Actually coding it might not be very hard, once you figure out what, precisely, it should do, but that's the hard part. The question, then, is how natural it is to express. If the program does the Right Thing, the code to express it should be beautiful, if the language is any good. People inspired to look will see that.

      It's silly to code another clock, because it won't matter how beautiful the code is, nobody will read it. Nobody needs another damned clock. Write something useful and meaningful. If you can't think of anything useful and meaningful, and you write a damned clock instead, all you're demonstrating is that you can't think of anything. What does that say about you, as a representative of the fledgling user community for your obscure language?

    3. Re:Pity by jc42 · · Score: 1

      Yeah, well, I was expecting an exciting Obfuscated Eiffel Contest, to really give the C and perl folks something to admire in eiffel.

      Such a disappointment.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    4. Re:Pity by scubaken · · Score: 2, Interesting

      The only project that might get other peoples attention and attract newcomers to eiffel would be a large-scale development project. Maybe if the Mars rover system software was written in eiffel, more people might go, "Hmmmmm..." And take a peek at eiffel.

      There's really no Eiffel projects that a single developer can write (in his or her spare time) that cannot already be done in C++ or Java. Eiffel's virtues are evident only when programming in the large.

      At the moment, the best thing going for Eiffel has been the book "Object Oriented Software Construction" and its famous author. This book is very convincing to quaility minded developers, who immediately appreciate the beauty of the language, even if they will probably never get a change to use it at work.

    5. Re:Pity by scubaken · · Score: 1

      The great thing about the Eiffel Struggle contests is it allows those of us who would like to use Eiffel (in the RealWorld(tm)) a chance to write something substantial in Eiffel.

  3. 17 entries? by twoflower · · Score: 3, Funny
    This year had cash prizes of up to 1400 USD and software valued up to $8000 USD. There were 17 entries.
    Okay, which Eiffel programmer submitted twice? I thought that was against the rules.
    --


    --
    Twoflower
    1. Re:17 entries? by berenddeboer · · Score: 1

      Till G. Bay submitted two entries. That is not against the rules. All other entries were by different programmers.

      Perhaps a surprise that programmers are more diverse than you thought :-)

      --
      If I had a sig, I would put it here.
  4. Maintainability by Xtifr · · Score: 4, Insightful

    My understanding (which is admittedly shallow) is that the main benefit of Eiffel over most other compiled (or not) OO languages is the added maintainability provided by its "Design by Contract" features. (Not to mention the enhanced readability gained by not being based on C.) Unfortunately, "maintainability" is a bit of a difficult feature to show off in a programming contest. Although it's a pretty important feature in the Real World(tm).

    1. Re:Maintainability by axxackall · · Score: 2, Interesting
      Unfortunately, "maintainability" is a bit of a difficult feature to show off in a programming contest. Although it's a pretty important feature in the Real World(tm).

      Unfortunately, "maintainability" is a bit of a difficult feature to show off in the Real World(tm) too where usually managers prefer to dictate their teams to write on Perl, C++ and Java.

      By the way, the code written on OCAML or OHaskell is even more readable. Not to mention that both language are specially designed (as many other FPL) to make possible formal math verification and validation that the program does the right thing and it does it right. The feature that barely can be beaten from maintainability prospective.

      --

      Less is more !