Dave, You really should write this talk in a more accessable public place where the entire open source community could benefit from your knowledge and wisdomm... either as a blog, or in an open source website that will publish your writing. Your experience could really have a huge positive impact on hundreds of other projects.
-- Gregory Boggs Humhost ---------- Original Message ----------- From: David White <d...@whitevine.net> To: Ivan Illarionov <ivan.illario...@gmail.com> Cc: dev-talk <wesnoth-dev@gna.org> Sent: Sun, 04 Jan 2009 13:08:23 -0800 Subject: Re: [Wesnoth-dev] 1.7 design direction and the great Python shift > On Sun, 2009-01-04 at 15:47 +0300, Ivan Illarionov wrote: > > On Sun, Jan 4, 2009 at 7:22 AM, David White <d...@whitevine.net> wrote: > > > > > I personally tend to be of the view that for a project like Wesnoth, > > > using dynamic typing extensively will be much more problematic. I am not > > > sure of any programs that are large (i.e. teams of 5+ coders, developed > > > over years) and have GUI's that are written in any dynamically typed > > > languages, but I would enjoy hearing of them if anyone has any examples. > > > > Few examples: > > Major portion of Mozilla FIrefox is written in Javascript/XUL and most > > of its plugins are written in Javascript. > > Actually, the Mozilla Firefox model is the kind of thing that I think we > *should* be looking at with Python. > > As far as I understand it, the project was originally entirely C++, with > Javascript used as a client side extension language for websites. > However, some of the developers on the project found that Javascript > could be used for more and more functionality, and as they found how > useful this was, they extended it to more and more parts of the project. > > I think think is exactly the kind of model we should use for Wesnoth. > Python is already used for the AI. That could be improved to actually > make it usable, and then Python could be used to solve real problems > with the game. For instance, people have complained about how the random > maps generated are not balanced. If we supported random map generation > using Python, perhaps we could easily make map generators that were > better balanced, or support symmetric random map generation better. > > Likewise, everyone loves Wesnoth's add-on server, but it has a small > parade of outstanding feature requests. If the server and client portion > were both re-written in Python, perhaps these feature requests could be > better satisfied. > > I'm going to be really honest: you're presenting yourself in entirely > the wrong way to the project. I don't think very many people care much > to hear "this code here should be in Python because it is better for it > than C++!!!" What we'd much prefer to hear is, "I implemented this > really cool feature which our users will love, and oh yeah...the > implementation is in Python." > > If features implemented in this way are successful and usable and > robust, other developers will take note. Code you write in one part of > the project that is useful will be reused in other parts. > > Under promise and over deliver. I have heard of scores of people in > Wesnoth's history that have said they were going to do something, and > then nothing ever came of it. Make small changes. Build confidence and > momentum slowly. Gain developer trust. > > Finally, I will make one thing clear, so that neither you or anyone else > wastes effort unnecessarily: Software development projects -- whether > Open Source or closed source -- do not accept large, multi-thousand line > patches from previously unknown contributors. It is simply not done, > regardless of the reason for the patch. > > Doing so would be far too dangerous for the project. If I found another > project at my workplace and decided to send them a small useful patch, > it would probably be welcomed. If I sent them a 3000 line change, it > would be rejected out of hand, regardless of the functionality it > introduced. This is simply the way software development works. > > In the same way, Wesnoth has never, and will never accept large, > multi-thousand line patches, regardless of the reason for the patch. > Developers who are interested in making large contributions to Wesnoth > should make small, useful changes, have them accepted by the development > community, gain the confidence of the development community, obtain SVN > access, and then continue to make small changes to begin with, evolving > Wesnoth in a direction that is embraced by other developers. > > > Komodo IDE uses Python as a main language on top of Mozilla engine. > > Sketch/Skencil/SK3 is a family of open-source vector drawing programs > > written in Python almost entirly. > > > > Ivan > > _______________________________________________ > Wesnoth-dev mailing list > Wesnoth-dev@gna.org > https://mail.gna.org/listinfo/wesnoth-dev ------- End of Original Message -------
_______________________________________________ Wesnoth-dev mailing list Wesnoth-dev@gna.org https://mail.gna.org/listinfo/wesnoth-dev