04.20.2021 - By Jesús Cea
Doblegando a la culebra https://podcast.jcea.es/python/8
Se me oye (Jesús Cea) muy mal y es muy cansado porque hablo mucho
y tengo mala calidad de sonido. Lo siento.
Se han eliminado las pausas en la edición, así que es bastante
cansado oír a Jesús Cea hablar a toda velocidad y sin respirar. Lo
haremos mejor la próxima vez.
Se oye mucho tecleo.
Participantes:
Eduardo Castro, email:
Jesús Cea, email: [email protected], twitter:
@jcea, https://blog.jcea.es/,
https://www.jcea.es/.
Sara Sáez, twitter:
@saruskysaez.
Luis.
Audio editado por Pablo Gómez, twitter:
@julebek.
La música de la entrada y la salida es "Lightning Bugs", de Jason
Shaw. Publicada en https://audionautix.com/ con licencia
Creative Commons Attribution 4.0 International
License.
[01:42] API limitado
API limitado de Python para asegurar compatibilidad binaria de
extensiones en C entre versiones diferentes del intérprete de
Python. PEP 384: https://www.python.org/dev/peps/pep-0384/.
[03:42] Por qué empecé a usar Python.
[06:52] Eduardo: Cartas de restaurante con códigos QR: https://www.qrico.eu/.
[10:42] ¿Es mejor que una biblioteca esté en la biblioteca
estándar de Python o ser una librería externa?
Tema recurrent. Pros y contras.
[18:34] Soporte de Python en MS Windows. Distribución de
librerías precompiladas.
¿Cómo compilar una extensión C en MS Windows?
[20:52] Problema de las distribuciones binarias cuando sale una
nueva versión de Python.
Es una de las motivaciones para usar el API limitado definido en PEP 384: https://www.python.org/dev/peps/pep-0384/.
[23:22] Sistema de notificación de actualizaciones de librerías.
Por ejemplo:
https://libraries.io/.
Feed RSS de PYPI: https://pypi.org/rss/updates.xml.
¿Actualizas a la última versión? Pros y contras.
[28:22] Mejor entrar con vídeo a la tertulia.
[29:12] Debugging de uso de memoria y memory leaks.
Flamegraphs: http://www.brendangregg.com/flamegraphs.html.
Tracemalloc: https://docs.python.org/3/library/tracemalloc.html.
[33:52] Virtualenv, ¿qué usa cada uno? ¿Y en MS Windows?
[35:52] Soporte de Python en MS Windows.
La mayor parte del uso de Python es en MS Windows, pero los
"core developers" no usar MS Windows. Eso causa problemas de
soporte.
[40:52] Guido van Rosum y Microsoft.
Guido van Rosum ha empezado a trabajar para Microsoft:
https://www.msn.com/en-us/news/technology/python-creator-guido-van-rossum-joins-microsoft/ar-BB1aXmPu.
[44:22] ¿Ya estáis usando Python 3.9?
El API limitado se va ampliando versión a versión de Python.
PEP 384: https://www.python.org/dev/peps/pep-0384/.
[45:22] Opciones para acelerar la ejecución de código Python.
Numba https://numba.pydata.org/.
Cython https://cython.org/. Pero una vez que empiezas
etiquetar tipos, el código resultante ya no es Python. El
futuro es type hinting: PEP 484
https://www.python.org/dev/peps/pep-0484/.
Programar una extensión en C nativo.
PyPy https://www.pypy.org/. Ojo con la compatibilidad.
[54:32] Métodos para enlentecer Python :-)
[55:12] Protección de código en Python.
Cython https://cython.org/.
[58:47] Mezclar código C en Python.
Programar un módulo C.
CFFI: https://cffi.readthedocs.io/en/latest/.
[01:01:52] Guido van Rosum y Microsoft (segunda parte)
Volvemos al tema de Guido van Rosum trabajando para Microsoft: https://www.msn.com/en-us/news/technology/python-creator-guido-van-rossum-joins-microsoft/ar-BB1aXmPu.
La polémica del "walrus operator" u "operador morsa".
[01:05:22] "Operador morsa" o "Walrus operator".
PEP 572 https://www.python.org/dev/peps/pep-0572/.
Tema recurrrente: Python se está complicando cada vez más.
Problema para los novatos.
[01:14:32] Opciones para acelerar la ejecución de código Python (2).
Otra forma de acelerar Python: MYPY http://mypy-lang.org/
y MYPYC https://github.com/mypyc/mypyc.
Type hinting. PEP 484
https://www.python.org/dev/peps/pep-0484/.
[01:17:42] ¿Python con tipos? Motivación.
[01:20:52] ¿Quien paga los tests?
[01:22:37] Los tests como documentación.
[01:23:32] ¿Qué usais para tests?
[01:26:22] ¿Qué hace cada uno con Python?
Hobby, Zope https://zope.readthedocs.io/en/latest/,
imágenes, numpy https://numpy.org/, Jupyter
https://jupyter.org/.
Persistencia de datos y ORMs.
Integrar Python dentro de otros proyectos, como en Kodi
https://www.kodi.tv/.
Django https://www.djangoproject.com/, micropython
http://www.micropython.org/.
[01:33:12] Colofón y mi motivación para las tertulias.