Re: [GD-General] Eiffel
Brought to you by:
vexxed72
From: Patrick M D. <pa...@wa...> - 2001-12-24 05:20:24
|
On Sun, 23 Dec 2001, Brian Hook wrote: > At 11:20 PM 12/23/2001 -0500, Patrick M Doane wrote: > >Perhaps it would be interesting to come up with a few small programs or > >algorithms and see how they are implemented in various languages. That > >might make learning these languages easier. Any thoughts? > > Actually, that's been done before (sort of) in the Great Computer Language > Shootout. A pretty nifty article that covers the performance aspects. I was thinking more from the perspective of what might be useful to game developers. The programs in Doug's shootout are way too small. Here are some examples of the scope I was thinking about: - MUD server - ray tracer - AI algorithms, e.g: best paths, neural networks Some of these could obviously get complex, but there should be simple implementations to make all of these approachable. > The problem is that small programs don't tell you that much. Absolutely - that's why I was thinking of slightly more complicated examples. > At a high level, there is C vs. C++ vs. Obj-C vs. Java vs. Eiffel, and once > again a small program doesn't necessarily take into account. I'm not sure I understand what you're saying here. > Just reading about Eiffel taught me a lot (both about it and C++), and > it wasn't until I started getting into the grittier details that some > of the warts started to show up. I still think it's a cool language, > but for games specifically it may not be ideal (no real bit twiddling, > no hex constants) without calling out to C/C++ constantly to do real > work. The environments and libraries also have their own set of > issues. If issues like bit-twiddling and hex constants are keeping you from using Eiffel, then use a preprocessor to begin with, and if these functions still seem very important, extending the language should be easy enough. Environments and libraries are a little harder to deal with of course. > That's why listening to informed opinions is fascinating to me, and > unfortunately real good comparisons are hard to come by. I'm still very > impressed by Ian Joyner's relatively objective analysis of Java vs. C++ vs. > Eiffel in "Objects Unencapsulated". There's another book I just ordered > that talks about OOP in terms of C++, Obj-C, Object Pascal and, I believe, > SmallTalk. You also might find "A Theory of Objects" by Abadi & Cardelli to be interesting. The first 5 chapters review object oriented features and do a good job of separating concepts like inheritance and subsumption. The authors are also very aware of the wide variety of OOP languages that exist -- at least 20 different programming languages are explicitly mentioned in the text. Note that the majority of the book focuses on developing a theory of objects that could serve as a foundation for all OOP languages. In effect, they are trying to establish what lambda calculus did for procedural languages. So, I would really only recommend reading it if you are interested in learning more about progamming language theory. Patrick |