Tudo que você sempre quis saber sobre Bindings
Resumo
Python roda sobre uma virtual machine (VM) e para acessar código nativo precisamos dos tão falados "bindings", as pontes que ligam o código nativo da plataforma e os objetos da VM. Esta descrição é bem conhecida dos Pythonistas, porém como isso funciona? Quando funciona? Quando devo usar isso?
Serão abordados os detalhes técnicos sobre bindings usando CPython, o processo de tradução e conversão de chamadas, cuidados essenciais ao ter o Python chamado a partir do código nativo (ie: callbacks). Algumas ferramentas auxiliares serão comparadas, como o Cython/Pyrex, SWIG e ctypes.
Diversos casos de uso serão citados: acesso a recursos nativos (ie: ioctls/syscalls), exposição de bibliotecas em outra linguagem (ie: qt/gtk) e também aceleração de algoritmos e caminhos críticos (ie: numpy).
A apresentação será técnica e precisará de um conhecimento mínimo de programação em C para entender "como funciona", porém ainda será útil para leigos que querem saber "quando devo utilizar isso".
Detalhes sobre o palestrante
Autodidata em programação desde criança, iniciou em Python por volta de 2003 após cansar de Perl, PHP e Tcl. Passou de desenvolvimento web ao desenvolvimento de sistemas móveis e embarcados em 2006, quando entrou no Instituto Nokia de Tecnologia. Lá desenvolveu diversos sistemas em C, lutando para que Python fosse uma opção no desenvolvimento na plataforma Maemo/Nokia. Em 2008 fundou a ProFUSION, empresa de prestação de serviços em Linux/Android embarcado a qual apóia e usa Python, seja nos sistemas de build, servidores/backend ou mesmo nos produtos dos clientes.