El autor de Python ya no lidera el desarrollo. ¿Mejorará o empeorará el idioma?

Toda la comunidad de Python espera que esto no afecte negativamente al ecosistema. Pero esto solo no es suficiente. Por ejemplo, consideramos importante apoyar a la comunidad y, como uno de los eventos, estamos celebrando una gran conferencia llamada Moscow Python Conf ++. Allí podemos discutir este y otros asuntos importantes. Mientras tanto, te presentaré parcialmente al Comité del Programa. Y les hizo varias preguntas que solo revelarían las opiniones sobre el ecosistema y hablarían sobre las personas mejor que sus logros profesionales.

Además de la pregunta del título, pregunté esto:

  • ¿Qué recomiendas para la gestión de dependencias?
  • ¿Cuál es la mejor cosa para hacer backend ahora?
  • ¿TensorFlow sigue dirigiéndose al aprendizaje automático o es hora de aprender algo nuevo?
  • ¿Por qué debería junio aprender Python, no JavaScript?
  • Dicen que el backend web ya no es necesario. Es asi?
  • 3.xo 2.7?
  • ¿En qué se diferencia un buen desarrollador de Python de uno malo?

Spoiler: La provocación "3.x vs 2.7" falló, la respuesta es clara. Parece demasiado pronto para rechazar el backend, pero qué hacer depende de la tarea: quién lo habría pensado.

Doy mis respuestas junto con una breve ayuda, ¿por qué no?

Grigory Petrov
Grigory Petrov es un desarrollador de amplia base, evangelista técnico de Voximplant y uno de los organizadores de la comunidad MoscowPython. Le gustan Python, JavaScript, C ++, la red, pruebas unitarias y grandes proyectos. Cuando habla en conferencias, habla sobre la billetera de Miller y por qué escribir software es una molestia.


- El autor de Python ya no lidera el desarrollo. ¿Mejorará o empeorará el idioma?
Existe tal expresión: "La mente colectiva piensa muy bien, pero toma decisiones muy mal". Creo que si los desarrolladores pueden ponerse de acuerdo sobre la adopción de decisiones importantes por el grupo más pequeño de visionarios, esto solo beneficiará al lenguaje.

- ¿Qué recomiendas para la gestión de dependencias?
Estoy a favor de un montón de pip y virtualenv. Ahora hay muchos desarrollos nuevos, pero no veo que ninguno de ellos se estabilice lo suficiente.

- ¿Cuál es la mejor cosa para hacer backend ahora?
Muy dependiente de la tarea. Si necesita crear rápidamente un sitio web de una página con un panel de administración y no necesita miles de visitas por segundo, Django está más allá de la competencia. La parte delantera al gusto, prefiero VueJS . Pero si necesita API, alta carga y otras cosas interesantes, entonces el rango se vuelve muy amplio y debe tener en cuenta los requisitos. ¿Qué pasa con AIOHTTP?

- TensorFlow todavía dirige el aprendizaje automático, ¿o es hora de aprender algo nuevo?
Como biblioteca de bajo nivel, todo sigue dirigiéndose. Google vierte en él una cantidad infinita de recursos, decide mucho. Pero ahora hay buenos contenedores y bibliotecas de alto nivel en existencia y puede encontrar algo directamente "para usted".

- Una oración: ¿por qué debería junio aprender Python, no JavaScript?
La mejor documentación del mundo.

- Dicen que el backend ya no es necesario en la web. Es asi?
La web es diferente. Realmente se puede construir una tarjeta de visita de una página usando Webpack en VueJS, Nuxt compilado y presentado como estático en CloudFlare. Y para la simple manipulación de datos, GraphQL es ideal para Firebase. Para algo más serio, necesitas un backend completo. Escribí "serio". Escribí "completo". Vuelva a colocar el nodo en el estante. Sí, yo también la amo, pero aún no es tiempo.

- 3.xo 2.7?
Si es un proyecto nuevo, entonces definitivamente 3.xy tipos. Si es Legacy, entonces debes mirar con cuidado. No siempre la mejor solución es "reescribamos todo para las últimas versiones" . Sigue las circunstancias.

- ¿En qué se diferencia un buen desarrollador de Python de uno malo?
Cada lenguaje de programación no es solo sintaxis y ecosistema, sino también su propio pequeño mundo llamado "como es costumbre aquí".

Un buen desarrollador de Python escribe en Python. No en Java en Python Syntax o PHP en Python Syntax. Es apreciado por sus colegas.

Vladimir Filonov
Vladimir Filonov es también uno de los organizadores de la comunidad MoscowPython. Le gustan Python, Erlang / Elixir, asincronía y TDD. Le gusta profundizar en el interior de las bibliotecas y luego hablar sobre ello.


- El autor de Python ya no lidera el desarrollo. ¿Mejorará o empeorará el idioma?
Por supuesto, la respuesta es definitivamente difícil. Guido seguía siendo el principal ideólogo de la lengua. Por otro lado, no todas sus decisiones fueron inequívocas. Me parece que ahora todo dependerá de si podemos, es decir, de toda la comunidad de Python, construir un proceso de toma de decisiones estratégicas más efectivo.

- ¿Qué recomiendas para la gestión de dependencias?
Yo uso pip + virtualenvwrapper localmente, pero esto es más probable por inercia. Y entonces recomendaría pyenv.

- ¿Cuál es la mejor cosa para hacer backend ahora?
Y aquí depende de para qué sirve este backend.

Siempre digo que el lenguaje es solo una herramienta.

No es muy conveniente martillar clavos con la misma herramienta y grabar. Incluso los lenguajes universales (como Python, por ejemplo) se ocupan mejor de algunas tareas y peor con otras. Pero si hablamos del backend web promedio, entonces elijo Python en la gran mayoría de los casos.

- TensorFlow todavía dirige el aprendizaje automático, ¿o es hora de aprender algo nuevo?
TensorFlow ciertamente conduce. Pero no es perjudicial comenzar a aprender el idioma de Julia =)

- Una oración: ¿por qué debería junio aprender Python, no JavaScript?
Si no profundiza en el debate sobre la madurez arquitectónica, entonces diría que Python es mucho más elegante sintácticamente y más fácil de leer.

- Dicen que el backend ya no es necesario en la web. Es asi?
Bueno, dicen que los programadores tampoco serán necesarios pronto: la IA escribirá el código en sí. Pero por ahora, ambos son conceptos muy dudosos.

- 3.xo 2.7?
Solo 3.x. 2.7 todavía, por supuesto, vivirá en proyectos durante muchos años, pero este es un legado. Por lo tanto, no tiene sentido crear algo nuevo en una versión sin salida del lenguaje.

- ¿En qué se diferencia un buen desarrollador de Python de uno malo?
Puede responder sin Python: en qué se diferencia un buen programador de uno malo. Me parece que lo principal aquí es la curiosidad . Interés en cómo funciona esta o aquella tecnología. Ahora el desarrollador cuenta con una gran cantidad de todo listo: tomar y remachar de los bloques terminados. Y uno de los problemas de la industria es que muchos están satisfechos con este remache, sin comprender cómo está organizado el mecanismo que utilizan. Y si necesita alejarse de los ejemplos descritos en la documentación, entonces comienzan los problemas.

No todo el Comité del Programa participó en la encuesta blitz, algunos estaban tan ocupados con las solicitudes y preparando informes que no tuvieron tiempo de responder. Perdónalos, para nosotros lo están intentando.


Zlata Obukhovskaya
Zlata Obukhovskaya ha estado familiarizada con el ecosistema de Python durante diez años, tiempo durante el cual probó diferentes cosas: desde Data Science hasta el desarrollo de proyectos de alta carga y la gestión de equipos. Enseña en Learn Python, está interesado en sistemas distribuidos y en construir comunidades técnicas. Le gusta hablar de cultura tecnológica, que debería ser impulsada por la estrategia.


- El autor de Python ya no lidera el desarrollo. ¿Mejorará o empeorará el idioma?
Guido hizo mucho por Python, dedicó su vida a ello. Su trabajo ha dado sus frutos, en el ecosistema hay muchas personas talentosas con una fuerte visión que están listas para mover el idioma aún más. Si logran organizarse y elegir con éxito una dirección es una pregunta abierta. Un mayor desarrollo del lenguaje revelará el potencial de la comunidad de Python, sin importar cómo pueda resultar este potencial.

- ¿Qué recomiendas para la gestión de dependencias?
Interesante proyecto de poesía.

- ¿Cuál es la mejor cosa para hacer backend ahora?
Depende de la tarea.

  • Para aplicaciones CRUD, este es Django.
  • Para las API cargadas que funcionan con múltiples fuentes de datos, estos son los marcos asincrónicos Tornado, aiohttp.
  • Para API relativamente simples con una buena carga, Flask es adecuado.

- TensorFlow todavía dirige el aprendizaje automático, ¿o es hora de aprender algo nuevo?
Siempre tiene sentido probar marcos de trabajo relativamente jóvenes e incluso menos adaptados para la producción, por ejemplo, PyTorch. Solo para poder comparar soluciones de diseño de datos.

- Una oración: ¿por qué debería junio aprender Python, no JavaScript?
Con Python, puedes aprender JavaScript; por el contrario, es más difícil.

- Dicen que el backend ya no es necesario en la web. Es asi?
Depende de la tarea. Siempre que necesite enriquecer los datos en línea, o la velocidad de respuesta y el rendimiento de la fuente de datos importan, se necesita un back-end.

- 3.xo 2.7?
3.x por supuesto!

- ¿En qué se diferencia un buen desarrollador de Python de uno malo?
Un buen desarrollador siempre piensa cómo puedo ser mejor mañana que ayer. Esto se aplica al desarrollo en cualquier idioma. El nivel de conocimiento y experiencia no es importante.

Alexander Khayorov
Alexander Khayorov dirige el departamento de desarrollo de Ingram Micro Cloud, adora Python y realiza programas furtivos sobre él. Y con respecto a las nubes públicas, las prácticas de Kubernetes, Istio y DevOps / SRE: pasión y un área de interés ilimitado.


- El autor de Python ya no lidera el desarrollo. ¿Mejorará o empeorará el idioma?
Guido dijo que estaba dejando el puesto de BDFL (dictador benevolente de por vida) y este es ciertamente un evento trascendental para la comunidad. Pero no creo que esto afecte negativamente el desarrollo del lenguaje en su conjunto. Espero que las batallas en torno a las nuevas PEP sean igual de tumultuosas. El espectáculo debe continuar.

- ¿Qué recomiendas para la gestión de dependencias?
Ahora definitivamente pipenv , y por qué y por qué te lo dije recientemente en detalle, mira el video aquí .

- ¿Cuál es la mejor cosa para hacer backend ahora?
Definitivamente en la herramienta que cumple con sus requisitos funcionales. Python es muy bueno para un inicio rápido . Para casos técnicos más exigentes hay elegantes asincio y sanic. Django sigue siendo bueno y atraído por una gran cantidad de baterías y una amplia comunidad de simpatizantes.

- TensorFlow todavía dirige el aprendizaje automático, ¿o es hora de aprender algo nuevo?
Estoy un poco lejos del tema del aprendizaje automático, pero centrándome en las conversaciones en la industria, TensorFlow definitivamente está en el clip, aunque Keras se menciona cada vez más. Theano está nuevamente optimizado para un par de CPU / GPU y es conveniente para tareas numéricas.

- Una oración: ¿por qué debería junio aprender Python, no JavaScript?
No javascript solo ...

- Dicen que el backend ya no es necesario en la web. Es asi?
Por supuesto, ya no es necesario, simplemente no se lo digas a nadie.

- 3.xo 2.7?
No hay duda: la versión 3.6.6 es la corona de la creación . Solo mire el registro de cambios 3.6 y todo encaja.

- ¿En qué se diferencia un buen desarrollador de Python de uno malo?
Karma puro y un enfoque pragmático para la implementación de tareas, se centran en la lógica empresarial y el humor mordaz.

Ivan Tsyganov
Ivan Tsyganov programa en Python, habla en conferencias para programadores y probadores. Estaba preparando la mayor conferencia de seguridad de la información en Rusia: PHDays. Lento pero seguro, está armando una casa verdaderamente inteligente.


- El autor de Python ya no lidera el desarrollo. ¿Mejorará o empeorará el idioma?
Python ya no es joven, todos los procesos han sido depurados y funcionan bien. Creo que, fundamentalmente, nada cambiará, porque al timón quedan personas de confianza . En cualquier caso, Guido está observando el proceso y si la locura comienza a suceder, ciertamente intervendrá. Al menos eso creo.

- ¿Qué recomiendas para la gestión de dependencias?
Estoy acostumbrado a pip, tengo suficiente.

- ¿Cuál es la mejor cosa para hacer backend ahora?
Si necesita obtener un prototipo que funcione de la manera más rápida y fácil posible, Django, panel de administración listo para usar. Luego fijamos el Django REST Framework y rehacemos la interfaz de usuario humanamente.
Y en otros casos, todo depende de la tarea.

- TensorFlow todavía dirige el aprendizaje automático, ¿o es hora de aprender algo nuevo?
Si el tema de Machine Learning es interesante, ¡es útil seguir todo y probar todo nuevo! Desafortunadamente, no encontré tareas adecuadas, así que estoy un poco lejos de esta área.

- Una oración: ¿por qué debería junio aprender Python, no JavaScript?
Porque mi junio tendrá que escribir en Python

- Dicen que el backend ya no es necesario en la web. Es asi?
¿Cómo es que no se necesita backend? ¡No necesitamos esta web!

- 3.xo 2.7?
Solo 3, porque allí todo es lo más delicioso. Sí, y es hora de decir adiós al viejo 2.7 , hizo su trabajo.

- ¿En qué se diferencia un buen desarrollador de Python de uno malo?
El deseo de aprender cosas nuevas.

En esta nota optimista, los invito a Moscú Python Conf ++ los días 22 y 23 de octubre. El programa incluye novedades e interesantes sobre el lenguaje, el ecosistema y el aprendizaje automático. Pronto les contaré todo en orden y la lista de informes aceptados se puede encontrar aquí .

Source: https://habr.com/ru/post/es425469/


All Articles