[Freeciv-Dev] Re: C vs C++ vs Java
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Monday 03 December 2001 02:45 am, Ross W. Wetmore wrote:
> The Choice of language should depend on your design goals. And in
> some designs using a number of languages may make more sense than
> a mono-cultural decision.
>
> If there is no real change in style, stick with "C" and make the
> most of code reuse and of dinosaur programmer's reflexes :-).
i thought i'd given a list of design goals for fc2. some of the actual
requirements for runtime configuration are still being discussed however. i'd
basically like to do a complete paradigm shift for the fc2 server from
functional/monolithic to OO/microkernel. general consensus (with a few
dissenting voices) seems to support this. i think we'll be looking for the
following properties
- modular
- extensible
- maintainable
how the system itself is extended and modularized is yet to be determined.
> The key to this is good interfaces, highlevel design concepts and
> modular building blocks that only get specific at the last subclass
> or ruleset parameterization. With an appropriate adapter, you should
> be able to hook almost anything up to anything else through the defined
> interface, and have it just work as a configurable runtime option.
agreed. hopefully this won't be too hard. we should probably start talking
about the components of the game that rulesets can set/alter. here's my short
list. i know its incomplete, but hopefully people will add to it:
- unit capabilities
- technologies
- city improvements
- wonders
- nations
- algorithms - replacable playtesting components?
- tile properties
- resources
- derived incomes? (e.g. c2p has public works as a derived income of
productivity).
- others?
clearly we'll need to define interfaces for extending and integrating the
above.
> And, one last thing ... this is a network client-server application,
> so heterogeneous, portability really helps. Running the same binary
> code everywhere, or being able to ship pieces of it around as opposed
> to going through layers of translation and protocol, is a good thing.
> When you deal with objects, remember this is code+data.
downloadable code? hmmm.. that's an interesting idea. now that would be
interesting. instead of downloading static configurations for unit
capabilities you could just download the implementation. hmm... very
interesting indeed. i'm assuming java allows that as its a web protocol.
i'd still really, really like to use c++ though - if not because i know the
language really well, because of the ACE toolkit. it probably provides the
best network/os c++ abstraction i've ever seen. writing the entire network
layer for fc2 could probably be reduced to a couple hundred lines of code
(excepting the protocol itself).
andy
|
|