Friday, September 7, 2007

Binding

Simon Edwards kicked off the Bindings track (which ran alongside the KDE 4 Pillars track, often resulting in a difficult choice for attendees!), describing the process of creating KDE applications in Python. He started with Python and its features, but as many attending the talk were Python veterans, he quickly continued to talk about his own involvement. Simon worked with C++ for a long time, but never was too happy with it. When he discovered Python, he immediately fell in love. For him, the binding of Qt/KDE and Python is a 'match made in heaven'. He started developing system configuration tools for Kubuntu. He showed how similar the Python-Qt-code is to C++. The bindings form a glue between the typical C++ syntax and the Python one, yet preserving many of the cool Qt features. Yet it is very efficient to program, and the performance overhead is very small due to the use of the Qt and kdelibs for the heavy lifting. Painting is delegated to the Qt libs, yet it is possible to subclass a C++ routine, and modify it. The biggest disadvantage is the memory usage of the python interpreter, but this can be shared between all Python processes.
Next, Simon progressed to the 'cool stuff', showing how to embed a Python application in the C++ based KControl. He expects KDE 4 Python bindings to keep up with KDE development, releasing a beta alongside KDE. Then he talked about the nice side-effects the Python work brings, like faster development, better debugging information and a lower barrier to contribution. According to Simon, PyQT and PyKDE bindings bring the fun back into development.

After the talk by Simon, one our youngest members paired with one of our more seasoned hackers to give a talk about their work on the C# bindings. We will cover thisthis in a later article (an interview is planned) so you'll hear about it!

No comments: