Python en español #8: Tertulia 2020-11-24

21/04/2021 1h 40min

Escuchar "Python en español #8: Tertulia 2020-11-24"

Síntesis del Episodio


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:
[email protected].


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.