Hola,
Cuando empecé con python, llevaba un poco aprendiendo c++, y claro, sientes la curiosidad de que los dos lenguajes se entiendan en tus propios programas. La rapidez de desarrollo con python y la eficiencia de c++ (v11,v14 … ), parece la pareja perfecta y de hecho los modulos mas importantes de python, su core es c++.
¿Porque no hacerlo para nuestros propios modulos?
Iré al grano a la eleccion de la celestina : BoostPython por 4 motivos:
- Boost una de las mejores extensiones de c++ y ya lo tengo instalado
- Funciona tanto para python2.X como python3.X, en si hablamos de c++, ya os podeis imaginar que funciona para cualquier version c++11, c++14, …
- La implementacion de clases, interfaces, sobrecarga, custodia de punteros, etc es facilisima.
- Lo mas importante, no tenia que aprender otros pseudo lenguajes o como hacer los archivos de configuraciones.
Pues bien, hace aproximadamente 2 meses tuve la oportunidad de hablarlo en el MeetUp de PythonMadrid:
- Material: https://github.com/pvalienteverde/MeetUpPyMadrid_Boost_Python
- Diapositivas: http://pvalienteverde.github.io/MeetUpPyMadrid_Boost_Python/#/
Resumiendo: A traves de ejemplos, se vió como wrappear funciones, crear conversores (por ejemplo: std::vector <> numpy) y por último, extender una clase de una librera en c++ en nuestro codigo python.
En proximos articulos, iré contado features que no tuve tiempo o no sabía, siempre apoyandome en el codigo de la charla anterior.