[MUD-Dev] TECH: Servers in Java

Brian Hook brianhook at pyrogon.com
Tue Jan 8 10:40:37 CET 2002


On Behalf Of Bruce Mitchener:

> I'd love to hear more about those issues with Eiffel.  Are they
> something that you're able to or interested in sharing?

I REALLY wanted to like Eiffel since it has a lot of things about it
that, I think, are quite nice such as constrained genericity, class
invariants, pre/post-conditions and the whole "design by contract"
thing, method renaming under MI, and a host of other nice things.  I
won't bother getting into language "flavor" issues, since that's
neither here nor there and often leads to language wars which are
oh-so-boring.

Philosophically speaking, I really don't like Bertrand Meyer's
attitude.  If you read Object Oriented Software Construction, he
spends a great deal of time deriding other languages, authors and
books, but often with little evidence to back up his statements.
You see a lot of "So and so suggests this, which is clearly wrong
from an object oriented point of view".  But he doesn't tell you WHY
it's wrong.  He ridicules other language authors because they fear
multiple-inheritance, which he attributes to a lack of
understanding.

This kind of smugness seems to have percolated into the Eiffel
community as a whole.

But that's not the language's fault =3D)

Now, the practical problems I've found with Eiffel are:

  - incompatible tools.  There are four main Eiffel
  compiler/environments, none of which are 100% compatible with each
  other: ISE, VisualEiffel, SmallEiffel and HaltenHaus.  This
  includes both core library differences (aspects of the official
  language spec aren't implemented across the board, which is a
  problem we see with other languages) and library differences (they
  implement their own set of standard libraries, for example).
  There is an open source cross-compiler Eiffel container library
  called GOBO that does act as a sort of universal container
  library.

  - in order to do just about anything interesting, you have to drop
  down to a C/C++ layer.

  - tools are expensive.  We're talking in the $1000 range for a
  tool.  SmallEiffel is the exception (it's GPL AFAIK), however you
  need to have your own IDE (cf. Emacs) ready to go.

  - no hex constants!  The language really, really doesn't want you
  to do bit twiddling, and there's this rather na=EFve, purist
  belief that removing hex constants gets rid of unportable
  behaviour.

There are, I'm sure, a zillion language constructs that might suck
about it, but I never got around to actually using the language so
I'll defer ranting about it to those that actually know it.
Although, interestingly enough, I have yet to meet an Eiffel user
that dislikes the language (although I've seen many posts from
people dissatisfied with the state of the tools and libraries).

> I thought that the GNU ObjC runtime supported GC, using the Boehm
> collector:

I hadn't seen that, however I've never seen it referenced on the
Apple Cocoa mailing lists, so my guess is that it's not a widely
used extension.

Brian

_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list