De .NET a Python. ¿Dónde están mis cosas?
Hace unos meses di un giro de 180º y, tras más de 8 años trabajando con .NET, he saltado a un stack muy diferente, con Python como centro del cambio. En mi día a día utilizaba multitud de herramientas a todos los niveles: patrones de diseño, librerías, frameworks, SDKs, servicios de Azure y, por supuesto, Visual Studio. Hoy, mi caja de herramientas es bien diferente, empezando con python, pip, tornado y Pycharm, entre otros. Al principio todo bien. Hago mis ejercicios de HackerRank, voy aprendiendo las diferentes estructuras de datos, convenciones, buenas prácticas, algunas librerías, etc. Pero llega el día en el que quiero hacer mi primer proyecto web desde cero. Y en ese momento me pregunto ¿Dónde están mis cosas? Me refiero a todas esas piezas a diferentes niveles, que usaba a diario y que, en un primer momento, no tengo claro cuál es su equivalente en Python o si acaso tienen sentido dentro de este stack. ¿Hay algún IDE que me facilite la vida para desarrollarlo? ¿Cómo hago debug? ¿Hay alguna herramienta de profiling? Y más allá del entorno, ¿qué capas se suelen utilizar y cómo las separo? ¿Cómo implemento la inversión de control? ¿Cuál es el equivalente de un patrón repositorio genérico? ¿Por qué necesito los entornos virtuales? ¿Qué me aporta la herencia múltiple? Y las comprehensions, ¿puedo hacer todo lo que hacía con Linq? En esta charla trataremos de enlazar los dos mundos, analizaremos pros y contras e intentaremos responder a algunas de las preguntas anteriores.