[Qgis-developer] Plugin Development C++ Windows - Any response?

Charlie Sharpsteen chuck at sharpsteen.net
Fri Feb 25 15:15:17 EST 2011


On Fri, Feb 25, 2011 at 9:28 AM, Barend Gehrels <barend at xs4all.nl> wrote:
[SNIP]

> I don't understand this:
> - if the API/ABI changes, then you might have (sometimes) the same problem
> with Python (don't know sip).
>

Not exactly.  Python code is interpreted, not compiled. As long as the
plugin code remains valid Python-- moving from Python 2.x to 3.x is an
example of where this may break--and the QGIS Python API remains unchanged,
then the Python interpreter built into QGIS will be able to execute it.


> - faster to implement but C++, in general, runs faster. If I've write
> labelling or routing plugin -> I would prefer C++
>

True.


> - some people knew C++ better, some Python, some both, if there are two
> options, would one be deprecated?
>

Nope. Python is great for rapid development, flexibility and an enormously
capable standard library.  As you noted above, C++ is great when you
absolutely need something to execute as fast as possible. Reason enough to
keep both options.


> - why easier to distribute?
>

Python code is interpreted so one does not have to compile and test a
separate binary distribution for every platform QGIS runs on. That cuts the
distribution workload by several orders of magnitude.


Of course, if you start mixing Python *Extensions* (which contain compiled
C/C++ code), into your Plugin module, then it is a whole different ballgame.


-Charlie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/qgis-developer/attachments/20110225/a065b4a8/attachment.html


More information about the Qgis-developer mailing list