[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