Il 27/05/2015 11:03, Marco Giusti ha scritto:
On Wed, May 27 2015, Marco De Paoli wrote:
Il 27 maggio 2015 09:11, Marco Giusti <marco.giu...@posteo.de> ha scritto:
Salve,
avete esperienza a proposito in ambiente Windows? Quale è la strada
consigliata? Ho visto che boost.python può essere una soluzione ma prima
di gettarmi a capofitto sulla documentazione vorrei il vostro parere.
con boost::python avevamo fatto belle cose alcuni anni fa su Visual Studio 2008
della serie che puoi fare cose abbastanza magiche
(es. definire una classe in C++ e derivarla in python chiamando i
metodi della classe base)
metti in conto:
a) alti tempi di compilazione
b) saper mettere più o meno le mani sulle magie del template
metaprogramming tipiche di boost
c) in caso di errori di compilazione ricevere messaggi infiniti (come
è tipico del template metaprogramming)
per il punto 2 dipende poi quanto ti vuoi spingere...
se ti basta esporre qualche funzione C++ e poterla chimare da python è un conto
se invece vuoi inserirti, da python, nel sistema delle classi che hai
definito in C++ e derivare, ridefinire operatori, fare overload di
funzioni etc. etc. beh, diventa un'altra storia
(...in particolare a proposito dell'overload: ecco un punto in cui
puoi avere qualche rogna perchè python non lo permette...)
e comunque, rispetto a quando ci ho lavorato io con boost::python
- il C++ è andato avanti, e non poco (C++ 11 e C++ 14)
- boost è andato avanti anche lui (noi avevamo usato tipo boost 1.42)
per cui oggi come oggi, se dovessi averne bisogno sarei il primo a
dover rifare un check sullo stato attuale di boost::python
In realtà la mia è solo un'idea e non so' quanto andrà avanti e come si
svilupperà. Mi piacerebbe poter integrare Python per poter sviluppare
delle estenzioni al programma in Python stesso, ma vista la
mia esperienza con C++ vorrei iniziare con qualcosa di semplice come
wrappare quanto c'è per scrivere i vari test in Python.
In realtà è questa doppia personalità, embedding vs. extending, che mi
lascia perplesso. Posso partire da una prima fase, extending, dove
da Python eseguo i vari test richiamando funzioni e quant'altro, per poi
passare ad una fase di embedding, dove i vari plugin scritti in Python
sono integrati nel programma, senza però perdere quanto fatto in
precedenza?
Per il punto 2, qual'è il santo a cui devo rimettermi? :)
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python
forse e' un po diverso da quello che chiedi ma ..
quale e' il motivo per estendere in c++ se non quello delle performance
??? (naturalemnte parlo di nuovi sviluppi..)
se e' questo il problema (performance) dai un occhio a http://www.pypy.org/
ciao
Matteo
---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast!
Antivirus.
http://www.avast.com
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python