Los temas más candentes en Python Conf ++ de Moscú resultaron ser el desarrollo asincrónico, así como una comparación de Python, sus mejores prácticas y herramientas con análogos de otros lenguajes, y su lugar en el panorama del desarrollo moderno. Además, invitamos a Benjamin Peterson, uno de los desarrolladores de CPython, Grigory Bakunov de Yandex, y muchas otras personas muy interesantes para hablar.

El cuarto y el segundo, organizados conjuntamente con nuestro equipo, Moscow Python Conf ++ se ha transformado notablemente. Lo que sucedió en el evento, cómo se destacó entre los foros de TI de la industria, qué beneficio y placer aportaron los participantes, en nuestro breve boceto fotográfico del sitio.

La conferencia reunió a más de 460 invitados en el sitio, así como a docenas de participantes en línea. Paralelamos el programa de 24 informes en tres flujos. Los protagonistas de la conferencia estaban espaciados uniformemente a lo largo de la cuadrícula, para evitar "anomalías gravitacionales": de modo que las figuras superiores no llamaron la atención sobre sí mismas. Este año también nos negamos a continuar el experimento con un formato de dos días, y esto fue en el contexto de un aumento en el flujo de aplicaciones, por lo que no faltaron expertos fuertes. ¿La alta concentración de oradores con informes sólidos hizo difícil elegir a quién y dónde ir a escuchar? Si y no
Grigory Petrov, Director de Programa, Moscow Python Conf ++:
“Los desarrolladores casi siempre tienen una especialización (quién tiene aprendizaje automático, quién tiene ciencia de datos) y, en la mayoría de los casos, todos buscan el programa y visitan los informes que corresponden a su perfil. Por lo tanto, la tarea del comité del programa es evitar una situación en la que en flujos paralelos hubiéramos tenido discursos sobre temas similares y las personas se apresurarían como inquietas entre los pasillos ".
Por supuesto, Moscow Python Conf ++ 2019 tenía cabezas de cartel, sin embargo, en términos de la utilidad práctica del material que prepararon (así como la historia del caso de las historias, etc.), no contrastaban fuertemente con la composición general de los oradores. Sin restar valor a los méritos de los 20 oradores restantes, describiremos con más detalle los cuatro temas centrales que seleccionamos en base a criterios subjetivos y en parte al peso mediático de los expertos.

Benjamin Peterson: Python Governance

Benjamin Peterson, uno de los principales desarrolladores de CPython y PyPy, se convirtió en el principal orador, pero no en la única superestrella de la conferencia. Entre otras cosas, Benjamin trabaja en Dropbox en San Francisco con Guido van Rossum, el padre fundador de la lengua. El año pasado, se despidió del puesto de "dictador generoso de por vida" Python (dictador benevolente de por vida, o BDFL), y por lo tanto requirió un "sustituto". Como tal, se formó un comité de cinco personas sobre una base electiva: el Consejo Directivo, que, por cierto, incluye al propio van Rossum. El propio Benjamin, según su admisión, no entró en esta estructura: "Tomó el sexto lugar en la votación".
A pesar del estrellato del hablante y la cercanía al corazón de Python (literalmente, al núcleo), su informe fue quizás el menos técnicamente orientado, más bien conceptual, con el leitmotiv "Lo que nos espera en la era posterior a Guido". Mientras tanto, no es por nada que el comité organizador indicó que cualquiera que use Python para su trabajo, como el público objetivo en el anuncio de su discurso. Se trataba de lo más importante para la comunidad.
En el informe, Peterson señaló qué transformaciones ha experimentado el modelo de desarrollo de CPython, qué caminos de evolución fueron posibles para él. Luego compartió sus puntos de vista sobre el futuro de Python: cómo cambiarán los lanzamientos de idiomas, el soporte, la biblioteca estándar, etc. (con todas las PEP relevantes), describió lo que esto significa para una amplia gama de pitonistas y cómo pueden influir en el destino del lenguaje y el ecosistema . En general, describió con pulsos trazos cómo vivirá ahora la comunidad. No pasó sin detalles: por ejemplo, se declara que las discusiones sobre el desarrollo del lenguaje se moderarán mejor, y ahora se supone que debe usar GitHub para trabajar con errores.
Después de la conferencia, Benjamin admitió con placer que muchas sugerencias sensatas sobre el desarrollo de Python cayeron sobre él al margen.
Grigory Bakunov: "Qué hacer si su código Python se ralentiza"
A pesar de que Bobuk prefiere certificarse a sí mismo como un "programador falso" - "Me toma solo 2–2.5 horas al día programar" - y sincero en tal autodeterminación, tenía algo que compartir con la audiencia sobre las penas y alegrías de Python. Los consejos de las formas productivas y no productivas para acelerar la ejecución del código de Python estaban llegando desde el escenario. Desmenuzado, y encaja bien en sus cabezas: las tesis de Gregory están tradicionalmente llenas de ergonomía extrema; En sus informes, a veces parece que en tu cabeza juegan con ideas en Tetris.
Aparentemente, una parte considerable de esas dos horas diarias dedicadas al desarrollo, el Director para la difusión de la tecnología "Yandex" aún se dedica a los ejercicios de Python. De lo contrario, ¿cómo debería saber que la numba es adecuada para la aceleración de Python de manera muy selectiva, principalmente en relación con las aplicaciones científicas, y Grumpy, el traductor de Google del código de Python en Go, en la infraestructura real no es una solución funcional y utilitaria?
En el camino, Gregory confesó abiertamente su amor a "nim y el profeta y nimpy", y también caminó a través del "complicado" Cython, potencialmente capaz de evitar que el código se ejecute rápidamente. Resumió sus látigos de veinte minutos:
- A veces, PyPy es suficiente (si es posible).
- La optimización del código simple también es importante.
- El juego de herramientas debe ser estable.
- No tengas miedo al esoterismo, es divertido.
- Un viejo amigo es mejor que los dos nuevos.
Después del informe y el bloque de preguntas y respuestas, que, en términos de duración, pareció superar el informe, alrededor de 30 pitonistas rodearon al "programador falso" y no lo dejaron ir por mucho, mucho tiempo.
Vitaliy Levchenko: Python vs Go

Conocido ampliamente como el organizador de las manifestaciones de Go and Reliability en San Petersburgo, Vitaly Levchenko tituló su discurso deliberadamente provocativo. Y lo abrió no menos provocativo: dicen, por favor, la respuesta a la superficie es que los puntos de referencia web de Go son mucho más rápidos que Python (en rps), mostrando en algunos casos una superioridad de más de cinco veces. Sin embargo, este enfoque fue solo una excusa para evaluar cuidadosamente las ventajas y desventajas de Go en comparación con Python. Y lo principal es mostrar dónde es más efectivo. Por supuesto, como seguidor de Go, no pudo evitar centrarse en sus ventajas: simplicidad, ausencia de problemas con las actualizaciones, una pequeña cantidad de dependencias en bibliotecas externas, etc.
Al final de su "monobuttle" constructivo, Vitaliy compartió una historia de la práctica de desarrollo en la que la transición a Go aumentó diez veces la productividad. Dado lo extendido que está actualmente el paquete Python + Go en producción, muchos pitonistas empedernidos han visto claramente una comparación de revisión para ampliar su conocimiento del alcance de Go y su lugar en el backend de los servicios en línea modernos.
Bueno, Python, según el embajador de Go-Camp, es razonable dar preferencia si:
- la velocidad de arranque de la aplicación es importante;
- necesidad de resolver problemas de ciencia de datos;
- el corazón miente para asíncrono / espera.
Maxim Lapshin: "Elixir como objetivo de desarrollo para Python async"

Los organizadores pidieron al ganador del premio HighLoad ++ 2018, el fundador del producto de transmisión de video erlyvideo, con dos intenciones: echar un vistazo a cómo se construyen los sistemas asincrónicos distribuidos en Python y cómo se pueden construir no en él. La base erlyvideo está escrita en Erlang, sin embargo, parte de la solución se creó en Python, por lo que, por su propia admisión, Maxim pudo sentir el dolor con el funcionamiento de los mecanismos de red de una manera "Piton".
Al abrir el subtítulo de la presentación: "Cómo administrar sockets, subprocesos y datos juntos" (¡y quién no quiere hacerlo!), Maxim revisó los conceptos existentes de computación paralela, en particular, cómo se implementan en Erlang y Elixir. Su tarea principal fue mostrar con ejemplos cómo el contexto más amplio de lenguajes y tecnologías influyó e influye en la implementación de mecanismos de red en Python y en qué dirección evolucionará su "asincronismo". Subrayando todas las ventajas de la computación paralela en Erlang / Elixir, Maxim, para ser justos, describió sus costos (incluido el rendimiento subóptimo y la "sobrecarga" para copiar datos entre procesos).
Quien por python
A juzgar por las migraciones de la audiencia en el sitio y las salas llenas de gente, cada orador "se bajó" con su audiencia, y mencionaremos algunos.
La resonancia fue provocada por un informe de Alexander Koshelev sobre cómo ha evolucionado el desarrollo de Python en Yandex (spoiler: dramáticamente). Y la experiencia y las recomendaciones de Kirill Borisov de Booking.com, que habló sobre la realización de pruebas al refactorizar el código heredado, simplemente recayeron en la solicitud de una buena parte de los reunidos para escucharlo: tampoco querían dejarlo ir por mucho tiempo.
Otro invitado extranjero en la conferencia, el ingeniero superior en la nube de Alibaba, Qin Xuye, también tuvo éxito al presentar un completo marco de Python de código abierto basado en tensor para la computación a gran escala. Igor Kitsenko de HH.ru contó un curioso caso de aprendizaje automático: recomendaciones de trabajo de servicio ML, escritas en Python y, lo más destacado del informe, integradas con un motor de búsqueda en Java.
Grigory Petrov:
El comité del programa reunió oradores con quienes los participantes del evento quisieran hablar sobre todo. De hecho, desde nuestro punto de vista, una conferencia no es un lugar donde la gente viene a estudiar algo seriamente. Además, este no es un lugar donde aprenden algo radicalmente nuevo. Este es un lugar donde la gente viene a conversar con colegas que trabajan en proyectos reales, especialmente a puerta cerrada. Sí, incluso si están abiertos, pero muchos todavía no escriben sobre su trabajo en Habré o Stackoverflow, a menudo únicamente debido a su frenético empleo.
Uno de nuestros criterios empíricos internos para elegir un presentador es hacer que sea interesante para nosotros hablar con él caso por caso sobre cuestiones urgentes de lenguaje y tecnología, así como preguntarle meticulosamente sobre su trabajo. El mismo Benjamin Peterson no es en absoluto un general de bodas. Es un programador sobresaliente y una persona generalmente versátil (al mismo tiempo que toca el piano perfectamente) y, en particular, se ocupa de todos los elementos de configuración en Dropbox. Cuando hubo un minuto libre, hablamos sobre cómo su compañía organizó las pruebas de código Python en grandes grupos, y comenzaron a hacerlo incluso antes de GitLab. Otros oradores en Moscú Python Conf ++ 2019 también cumplen con este criterio. En cualquier caso, en nuestra opinión.

A pesar de la diversidad de la agenda Conf ++ de Python de Moscú, sus temas más candentes fueron el desarrollo asincrónico (no tenía rival), así como una comparación de Python, sus mejores prácticas y herramientas con análogos de otros lenguajes y su lugar en el panorama del desarrollo moderno. Que, como se puede ver en los temas de los informes, se incluyó en el plan del comité del programa.
Y hablar?
Además del hecho de que la comunicación entre los oradores y los participantes de la conferencia recibió mayor atención en el programa de contenido principal, hicimos esfuerzos para garantizar que las redes dentro de la comunidad se mantuvieran durante todo el día a lo largo de Moscú Python Conf ++.

En primer lugar, las áreas de discusión equipadas con gráficos gratuitos funcionaban en el lobby. Se utilizaron para escribir temas preliminares de disputas, a los que todos podrían y deberían unirse: "¿Necesito asincronía en Python?", "¿Está bien pasar de junio al liderazgo del equipo en un año o diez años?" - Y así sucesivamente en el mismo espíritu de Hollywood.
"Socialización en paquete para introvertidos" fue uno de los organizadores que describió en broma este formato de comunicación.
Es cierto que era difícil sospechar de los introvertidos de quienes acudían en masa a las zonas de discusión: los participantes en el debate eran demasiado candentes (pero amigables). Bueno, después del almuerzo, todo el "Infraespacio" parece haberse convertido en una zona de discusión continua.
Valentin Dombrovsky, cofundador de la comunidad MoscowPython:
El stand doble Moscow Python + Pyladies Moscow y el stand conjunto de las comunidades regionales funcionaron muy bien. En la segunda, se llevó a cabo una reunión sobre cómo se organizan las reuniones locales de pitonistas. Durante el mismo, los participantes acordaron una colaboración: existe la esperanza de que eventualmente tengamos una metasociedad: una comunidad de comunidades. Python, después de todo, es un lenguaje creado por la comunidad.
Pero en general, la conferencia resultó ser totalmente rusa: reunieron a personas de todo el país, excepto la capital, incluso de San Petersburgo, Kazán, Krasnodar, Omsk, Ufa, Cheliábinsk, Ivanov, Lipetsk, Novosibirsk. Algunos ya han venido de Estonia y Azerbaiyán. Entonces, tal vez, incluso más ancho que el de toda Rusia.
En los stands de los socios, Iponweb y Evrone, a diferencia de lo que suele ser el caso en las conferencias de tecnología, el servicio de atención o las reuniones no se aburrieron, pero el movimiento se desarrolló. Sorteos de premios, concursos, las mismas discusiones profesionales, cuestionarios: había algo que hacer. A "IT-cocodrilo", a quien una clase magistral en Arduino.

Ya sea por intriga en la red de software, o por el hecho de que la apuesta por la comunicación valió la pena, o por ambas razones, más de la mitad de todos los que asistieron a la conferencia se quedaron inmediatamente después. La fiesta continuó con la línea general de Moscow Python Conf ++, y la cerveza, una variedad de bocadillos y una parte de humos saludables se convirtieron en un combustible adicional para la creación de redes.


Grigory Petrov: La comunidad se está haciendo mayor y más profesional. Veo en la conferencia más y más programadores de bancos, de gigantes de TI. Dichas empresas utilizan cada vez más Python y se esfuerzan por desarrollar su marca de recursos humanos y su experiencia con la comunidad. Ahora aquí puede analizar completamente los enfoques de desarrollo industrial y los complejos problemas que surgen al resolver problemas comerciales. No solo problemas de arquitectura, sino, digamos, cómo organizar adecuadamente el trabajo del equipo para que obtengan productos geniales a gran escala, como asistentes de voz, plataformas de telemedicina, servicios financieros fundamentalmente nuevos y software para vehículos no tripulados.
Que sigue
En la PC, según los primeros resultados de la última conferencia, comenzaron a formarse planes para el próximo año. Aquí hay algunas ideas que planea implementar:
- Para garantizar la llegada de Guido Van Rossum, como una tarea máxima. Si no es el año que viene, entonces ciertamente en el futuro.
- Llame a más desarrolladores y autores principales de bibliotecas populares.
- Invite a oradores interesantes sobre temas que no se alcanzaron en la última conferencia, principalmente sobre seguridad de la información.
- Para atraer a más miembros del equipo, evaluadores, analistas como participantes, todos aquellos que, al no ser desarrolladores en el sentido estricto de la palabra, usan constantemente Python en su trabajo.
- Es posible pasar un día separado de talleres e introducir nuevos formatos de actividad, incluida la participación de personas de la comunidad de otros idiomas.
- La mercancía que los participantes han estado pidiendo durante tanto tiempo.


PD Amigos, aquellos que no lograron participar en nuestra conferencia, queremos recomendar suscribirse a
nuestro canal de YouTube , donde comenzaremos a subir videos de discursos hacia el final del verano. Ahora también hay algo que ver, ya que descargamos casi todos los informes de la conferencia de otoño.