Perfil
Propostas
Interoperabilidade entre Python e C++: Quando e como estender.
O objetivo da palestra é mostrar como a API C do interpretador Python pode ser usada para desenvolver módulos Python em código nativo (extensions) e construir sistemas híbridos, com partes escritas em Python e outras em C++.
Também serão discutidas as situações nas quais é vantajoso utilizar estas técnicas. Esta discussão consiste em deixar claro quando um sistema, ou parte dele, tem um gargalo de IO (IO-bound), situação na qual é vantajoso utilizar uma linguagem dinâmica como Python. E de forma semelhante, quando o gargalo é processamento (CPU-bound), situação na qual vale a pena usar código nativo e tipagem forte por motivos de performance, em particular C++14.
O problema inverso, embarcar scripts Python em aplicações C ou C++ e promover interoperabilidade entre sistemas existentes também será abordado. As tecnologias abordadas serão:
- A API C do interpretador Python mais usado (CPython)
- A biblioteca C++ boost::python que facilita a criação de extenções para o CPython.