[Qgis-developer] Re: Scripting QGIS from the outside using Python

Marco Hugentobler marco.hugentobler at sourcepole.ch
Tue Mar 20 05:03:48 EDT 2012


Hi Stefan

 >Yes and no. As you know, we have tried to do so and found that it's
 >very difficult for somebody other than the code author to add those
 >files.

It is not easier for the C++ code author to create the bindings than for 
others.
Additionally, creating the sip files is not enough, the bindings need to 
be tested (as with Python, most problems only show up at runtime). 
Therefore it is better if the programmer that uses the binding creates 
the sip files. Luckily, in many cases, the c++ author is also the first 
binding user. But if not, there is no reason to force creation of the 
bindings.

 >I understand that programmers are lazy

I see this holds true for C++ programmers as well as for Python 
programmers :-)

Regards,
Marco

On 20.03.2012 08:56, Stefan Keller wrote:
> Hi Marco
>
> 2012/3/20 Marco Hugentobler<marco.hugentobler at sourcepole.ch>:
>> Hi Stefan
>>
>>> What could we do that the C++ API is better covered by Python bindings?
>> You could add sip files.
> Yes and no. As you know, we have tried to do so and found that it's
> very difficult for somebody other than the code author to add those
> files.
>
>>> Would'nd it be wise to allow at least new code only being included in
>>> a stable QGIS version when there exists a corresponding Python bindig
>>> (.SIP file)
>> In the case of the triangulation,
>> such a bureaucratic rule would successfully have kept away the code from
>> going into QGIS at all.
>>
>> Regards,
>> Marco
> I understand that programmers are lazy - I'm also a programmer :->  We
> could differentiate between rapid prototyping C++ code in the core and
> "stable".
>
> In case of stable I would stick with this rule. When we added SIP
> files recently we looked for better tools to support producing these
> but did not found yet.
>
> As another argument for this rule I'd like to argue that I like Python
> plugins because it's faster and easier to develop (except you are a
> C++ Jedi :->). So it's somehow a contradiction if you add C++ code
> without Python binding because then you exclude Python programmers to
> experiment with.
>
> - Stefan


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux&  Open Source Solutions
Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee



More information about the Qgis-developer mailing list