Alex Martelli: > Michele Simionato: >> cutting off non-essential features (and you can discover that a feature >> is non essential only after having implemented it)
> This one is difficult if you have RELEASED the program with the feature > you now want to remove, sigh. Yeah, but I used the wrong word "features", which typically means "end user features". Instead, I had in mind "developer features", i.e. core features that will be called later in "client" code (I am in a framework mindset here). Typically I start with a small class, then the class becomes larger as I add features that will be useful for client code, then I discover than the class has become difficult to mantain. So I cut the features and and I implement them outside the class and the class becomes short again. However, I *cannot* know from the beginning what is the minimal set of features needed to make short the client code until I write a lot of client code. I can make things short only after I have made things long. I think this applies to me, to you, to Pascal and to everybody in general. It is impossible to start from the beginning with the short program, unless you already know the solution (that means, you have already written the long version in the past). Still, some naive people think there is a silver bullet or an easy way to avoid the hard work. They are naive ;) Michele Simionato -- http://mail.python.org/mailman/listinfo/python-list