On Fri, 2009-01-02 at 15:17 -0500, Eric S. Raymond wrote: > David White <[email protected]>: > > Rather, we should take an evolutionary approach to matters. Python > > already exists in Wesnoth, as an AI framework. Developers who think that > > Python would advantage Wesnoth should simply begin implementing > > additional components in Python. > > I agree. > > If you're willing to consider the main loop -- the high-level > sequencing logic in game_controller and play_controller -- to be a > "component", then it seems to me this is exactly what Ivan has done > so far.
I would agree if I saw code that actually worked. At the moment, Ivan's branch runs the title screen, but all functionality seems to be disabled. This seems to imply an intent to convert things to Python bit by bit to get them working. If I see the titlescreen implemented in Python, but with all other functionality accessible, then I'll agree. > > I think Ivan's code is a good candidate for merge exactly > because it leaves most of the existing C++ in place, *not* forcing a > big bang on us. > > I'm completely with you that attempting a big-bang transition would be > doomed. I came to that conclusion months ago, then couldn't figure out > how to get traction on a chunk of the codebase that was both significant > and manageable. > > I bow in respect towards Ivan for having figured out how to do it. I'm > thinking now, in restrospect, that it probably needed a newcomer to the > project - I was motivated, but too close to the codebase. > > In a previous post, I wrote: > > It looks like Ivan has taken an > outside-in approach, implementing game_controller and play_controller > and the other high-level logic in the main loop first and leaving the > service classes in C++ to be called from the Python. That is, Python > has taken over the root of the static call tree with most of the > branches still in C++. This is sensible and, in fact, exactly how I > had planned to tackle the job. > > What is still to be done is a large undertaking, no question about > that. But now that Ivan has the outer framework in place, we should be > able to tackle the C++ one class at a time, gradually working down the > branches of the call tree, deciding at each step whether to > reimplement each piece in Python or leave it in C++ for performance > reasons. > > There's your evolutionary approach. It sort of superficially looks top-down > because it starts at the root of the static call tree, but it isn't really. _______________________________________________ Wesnoth-dev mailing list [email protected] https://mail.gna.org/listinfo/wesnoth-dev
