Language comparisons was Re: [GD-General] Eiffel
Brought to you by:
vexxed72
From: Brian H. <bri...@py...> - 2001-12-24 05:45:03
|
At 12:20 AM 12/24/2001 -0500, Patrick M Doane wrote: >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 Those would be good samples, and I'm pretty certain that there are MUD servers written in about every language imaginable we could probably at least look at. I know there's at least one prototype MUD server written in Lua, called Lune. Pretty clean code. > > 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. Sorry, half-finished though. Basically, I was trying to say "a small program doesn't necessarily take into account the complexities of building a larger system". Yeah, duh =) >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. Well, language designers have (theoretically) spent far more time thinking about language issues than I have. When I go in and start dicking with a language by extending it, then I've probably already entered the domain of diminishing returns. Although I'm sorely tempted to hack my Lua distribution to support '//' style comments instead of the Eiffel like '--' comments. =) I'd like to avoid a preprocessor as much as possible, but I'm still baffled why modern language designers adamantly refuse to put in block comments. Eiffel lacks block comments, so special preprocessors have to be written (gepp?) to support #if 0/#endif mechanisms. Same problem applies to Lua. Just wish people would make it a part of the language proper and save us headaches in the real world. GOBO is strewn with #ifdefs to make it work with the various Eiffel implementations, unfortunately they had to do their own #ifdef architecture IIRC. >Environments and libraries are a little harder to deal with of course. Yes, as are other things like language integration and extension. For example, Lua just drops in beautifully. It's amazingly easy to integrate into a C program as an extension language, and this is something you only learn through experience. You can read the language spec to understand the language's coolness, but it takes doing it to learn the nice parts of implementation with the language. License issues can be a potential gotcha -- things would look radically different if many languages were GPLed (or if their libs were). Brian |