On 14.01.2011 17:35, ext Fars- mo wrote:
As for trying to deviate as little as possible from the C++ API, that could be a valid goal for the project, but I think PySide developers are not aiming for that: they try to improve the Python API wherever it can be improved, as can be seen with the new signals and slots and the Python-style attributes PSEP. Both make porting to C++ harder, and the lack of distinction between pointers and references was already making porting non-trivial. Of course simplifying QApplication would not be as big of an improvement as these changes, but then again it would not make porting to C++ much harder (if you have trouble looking up the C++ Qt startup idiom, you will have a very hard time porting a whole application to C++).
Assuming you refer by "PySide developers" to me and the OpenBossa core dev team, it'd be easier to find out our opinions on things just by asking instead of making sweeping assumptions... :-)
I'm speaking mostly just for myself, but I think it's always a balancing act between maintaining compatibility with C++ Qt and PyQt, and improving the API. I believe compatiblity should have a very high priority, but not at all costs (hence, renaming of pyqtSignal to Signal, etc.). Any changes should be considered on a case-by-case basis.
Also, whenever the Python APIs are modified, keeping consistency throughout the API would be the most important thing to consider. For example, in some future backwards-incompatible PySide version, it might be a good idea to make the classes throw an exception instead of returning an error value, but that can't be implemented only partially. In a similar manner, the Python properties could be adopted, but not for just a few classes.
Due to the consistency concerns, but also because I'm worried about maintainability, I'm also a bit unsure about enhancement bugs that suggest minor tweaks to individual (or just a few) classes (e.g. [1,2,3]). Not only that, but such changes result in limited benefit. At the very least, I'd prefer getting some discussion here about the policies regarding such changes, preferably leading to proper PSEPs.
Also, I'd like to emphasize the co-operative aspect of the whole project: something leading to an accepted PSEP should not imply that the core dev team promises to implement it, but that if someone provides an implementation of sufficient quality, it will be accepted in the codebase.
But again, these are my opinions, and I'm known for changing them, given convincing arguments. :-)
[1] http://bugs.openbossa.org/show_bug.cgi?id=606 [2] http://bugs.openbossa.org/show_bug.cgi?id=607 [3] http://bugs.openbossa.org/show_bug.cgi?id=615 Cheers, ma. _______________________________________________ PySide mailing list [email protected] http://lists.openbossa.org/listinfo/pyside
