Resultados de la encuesta de desarrolladores Python 2020
Resultados de la encuesta de desarrolladores Python 2020
Esta es la cuarta edición de la encuesta oficial anual a desarrolladores Python, llevada a cabo en colaboración entre la Python Software Foundation y JetBrains. En octubre de 2020, más de 28 000 desarrolladores y entusiastas de Python de casi 200 países/regiones participaron en la encuesta para revelar el estado actual del lenguaje y del ecosistema a su alrededor.
Utilización de Python general
Python como lenguaje principal vs. secundario
El 85 % de los encuestados utilizan Python como lenguaje de programación principal.
Utilización de Python con otros lenguajes
JavaScript es el lenguaje más popular para los desarrolladores para combinar con Python. Junto con HTML/CSS, Bash/Shell y SQL, crean una pila de lenguajes donde 2 de cada 5 desarrolladores Python utilizan al menos uno de ellos.
JavaScript y C/C++ son los lenguajes principales más comunes entre los desarrolladores que utilizan Python como lenguaje secundario.
Lenguajes para ciencia de datos y web
Desarrollo web hace referencia a la gente que seleccionó «Desarrollo web» en respuesta a la pregunta «¿Para qué utiliza Python con mayor frecuencia?». Ciencia de datos hace referencia a la gente que seleccionó «Análisis de datos» o «Aprendizaje automático» en la misma pregunta.
Solo el 8 % de los desarrolladores Python que realizan tareas relacionadas con datos no utilizan ninguno de los lenguajes adicionales, mientras que solo el 3 % de los desarrolladores web trabajan únicamente con Python. No resulta sorprendente que el 75 % de los desarrolladores web utilicen tanto Python como JavaScript.
Propósitos para usar Python
En esta sección, planteamos preguntas para descubrir para qué utiliza la gente Python, en qué tipos de desarrollos están involucrados y cómo combinan sus diferentes usos.
¿Con qué propósitos utiliza principalmente Python?
¿Para qué utiliza Python?
Los cambios ligeros en los casos de uso de Python se pueden explicar por la mayor proporción de estudiantes (13 % vs. 10 % del año pasado) entre los encuestados. Ha habido un aumento en los fines educativos y una reducción en el resto de tipos de actividades que realizan los encuestados con Python.
¿En qué medida participa en las siguientes actividades?
¿Para qué utiliza Python con mayor frecuencia?
¿Se considera un científico de datos?
Solo el 32 % de los desarrolladores Python que participan en análisis de datos y aprendizaje automático se consideran científicos de datos.
Es dos veces más probable que los científicos de datos utilicen Anaconda para actualizar sus versiones de Python, mientras que los otros usuarios de Python prefieren Python.org.
Esta pregunta solo fue respondida por los encuestados que participaban en análisis de datos y aprendizaje automático.
Versiones de Python
Python 3 vs. Python 2
Casos de uso de versiones de Python
Versiones de Python 3
Instalación y actualización de Python
Los usuarios de Windows suelen instalar Python desde Python.org, mientras que los usuarios de Linux y macOS suelen emplear contenedores de Python, pyenv o Docker proporcionados por el SO.
Aislamiento de entorno Python
Hay dependencias interesantes entre los IDE y las herramientas de aislamiento de entorno:
- Más de la mitad de los usuarios de Jupyter Notebook y JupyterLab eligen Conda. La cuota de Conda entre usuarios de otros editores es de solo un 20 %.
- PyCharm Professional Edition está a la cabeza entre los usuarios de Virtualenv y Docker.
- VS Code y PyCharm tienen la cuota más grande entre los Pythonistas que utilizan Pipenv.
- Vim es el líder de los Pythonistas que utilizan Vagrant y Poetry.
Funcionalidades de Python
Funcionalidades de Python favoritas
Estos resultados se basan en las respuestas a la pregunta abierta «¿Qué 3 funcionalidades del lenguaje Python le gustan más?»
* Excluyendo bibliotecas estándar, estructuras de datos integradas y expresiones que se han extraído en clústeres separados:
- Comprensión de listas, generador
- Lista y diccionario
- Decorador
- Asyncio, subprocesos, multiproceso
- Gestor de contexto
- Función de lambda
** Otros temas especificados por <1 % de los encuestados.
Funcionalidades de Python deseadas
Estos resultados se basan en las respuestas a la pregunta abierta «¿Qué 3 funcionalidades de lenguaje le gustaría que se añadieran a Python?»
* Excluyendo las mejoras en bibliotecas estándar que se han extraído en otros clústeres:
** Otros temas especificados por <1 % de los encuestados.
Marcos de trabajo y bibliotecas
Marcos de trabajo web
FastAPI se introdujo en las opciones por primera vez con esta iteración de la encuesta, y parece ser el marco de trabajo web más popular para Python.
Marcos de trabajo y bibliotecas de ciencia de datos
Es más probable que los usuarios de NumPy utilicen Conda para aislar su entorno Python que otros Pythonistas. (32 % vs. 22 %)
Marcos de trabajo de pruebas de unidad
La utilización de marcos de trabajo de pruebas de unidades se correlaciona perfectamente con los años de experiencia laboral. Es mucho menos probable que los desarrolladores Python más jóvenes hagan pruebas de unidades.
Además, es más común que los desarrolladores que participan en análisis de datos y aprendizaje automático utilicen marcos de trabajo de pruebas de unidades que que lo hagan desarrolladores web y DevOps. Como es previsible, los desarrolladores para los que el empleo de marcos de trabajo de pruebas de unidades es más común son desarrolladores que participan en pruebas de software y en pruebas de escritura automatizadas.
Otros marcos de trabajo y bibliotecas
El 72 % de los desarrolladores que eligen AWS utilizan el marco de trabajo Requests.
Los usuarios de Tkinter y Pygame son sobre todo especialistas jóvenes con menos de un año de experiencia.
ORMs
La mayoría de los Pythonistas que utilizan Flask prefieren SQLAlchemy, mientras que los usuarios de Django utilizan Django ORM. ¿Se lo puede creer?
Bases de datos
PostgreSQL es la base de datos más popular entre los desarrolladores Python, y está incluso más generalizada entre los usuarios de AWS, con una cuota del 65 %.
Herramientas para Big Data
La mayoría de los usuarios de herramientas de Big Data prefieren JupiterLab. Esto es especialmente cierto para los usuarios de Apache Spark y Dask. El segundo lugar es para Jupyter Notebook, aunque PyCharm Professional es la opción más popular entre los usuarios de Apache Kafka.
Tecnologías y nube
Principales plataformas de nube
Heroku y PythonAnywhere son populares entre los profesionales jóvenes con experiencia laboral de hasta 2 años, mientras que AWS y DigitalOcean son más populares entre los programadores de Python con más experiencia.
¿Cómo ejecuta código en la nube (en el entorno de producción)?
Ejecutar código en contenedores sigue siendo el método más popular, mientras que las máquinas virtuales han perdido ligeramente su popularidad, con un uso de solo el 43 % de los usuarios en 2020. En 2018 su cuota era del 47 % y era la opción más popular.
¿Cómo desarrolla para la nube?
Los testers conforman la mayoría de quienes desarrollan para la nube en contenedores Docker.
Es mucho menos probable que los desarrolladores web desarrollen en entornos remotos y en máquinas virtuales en comparación con otros tipos de desarrolladores. Prefieren trabajar de manera local con virtualenv.
Herramientas de desarrollo
Sistema operativo
68 %
Linux
48 %
Windows
29 %
macOS
2 %
BSD
1 %
Otros
Cuanta más experiencia tienen los desarrolladores Python, más probable es que utilicen Linux y macOS como entornos de desarrollo, y menos probable es que elijan Windows.
Sistemas de integración continua (CI)
In 2020, la integración continua de Gitlab ha superado al líder previo en la categoría de sistemas de integración continua: Jenkins/Hudson.
Los testers son quienes más utilizan los sistemas de integración continua. Casi un 80 % de los desarrolladores que realizan pruebas de software o escriben pruebas automatizadas emplean sistemas de integración continua.
Herramientas de gestión de la configuración
Editores e IDEs
Para identificar los editores e IDE más populares, planteamos una pregunta de respuesta única: «¿Qué editor principal utiliza para desarrollar en Python actualmente?». Las opciones que recibieron menos del 0,5 % en 2019 se combinaron juntas en la opción «Otros».
La cuota combinada de las ediciones Community y Professional de PyCharm es del 33 %, y se corresponde con los resultados del año pasado. VS Code sigue creciendo, y aumenta su cuota en un 5 % en comparación con el año pasado. Por otro lado, la mayoría de los editores de texto como Vim o Sublime Text han perdido parte de su cuota.
Jupyter Notebook, JupiterLab y Spyder han ganado más usuarios procedentes de los campos de la ciencia de datos.
La cuota de usuarios de VS Code que trabajan con datos y los que son desarrolladores web es aproximadamente la misma.
La cuota de usuarios de PyCharm que son desarrolladores web es prácticamente el doble que la de los usuarios que trabajan con datos, y la diferencia es especialmente evidente con PyCharm Professional Edition.
Herramientas y funcionalidades para el desarrollo de Python
La mayoría de las acciones mencionadas en esta pregunta están más presentes en los usuarios con más experiencia. Cuanto más tiempo lleve un desarrollador en la profesión, más probable es que utilice las tecnologías mencionadas. No obstante, esta relación no se aplica al autocompletado y los consejos de escritura opcionales. Es mucho menos probable que los Pythonistas con más de 11 años de experiencia realicen estas acciones regularmente que quienes llevan programando entre 3 y 5 años.
Empleo y trabajo
Trabajar en un equipo vs. trabajar de forma independiente
Trabajar en proyectos
Tamaño del equipo
Situación laboral
Tamaño de la empresa
Sector de la empresa
Sector objetivo
Cargos
Experiencia con Python
Experiencia en programación profesional
Intervalo de edades
¿En qué país/región vive?
Los países/regiones con menos del 1 % se han combinado en «Otros».
Metodología y datos brutos
¿Quiere profundizar los datos? ¡Descargue las respuestas de la encuesta anonimizadas y vea lo que puede aprender! Comparta sus hallazgos e ideas mencionando a @jetbrains y @ThePSF en Twitter con el hashtag #pythondevsurvey.
Antes de diseccionar estos datos, tenga en cuenta la siguiente información importante:
1
El conjunto de datos incluye respuestas únicamente de los canales oficiales de la Python Software Foundation. Después de haber filtrado las respuestas duplicadas y poco fiables, el conjunto de datos incluye más de 28 000 respuestas, recopiladas en octubre y noviembre de 2020 mediante la promoción de la encuesta en python.org, el blog de la PSF, las cuentas de Twitter y LinkedIn de la PSF, las listas de correo oficiales de Python y los subreddits relacionados con Python. Para evitar que la encuesta se inclinara a favor de cualquier herramienta o tecnología específicas, no se utilizó ningún canal de producto, servicio o proveedor para recopilar las respuestas.
2
Los datos están anonimizados, sin información personal ni detalles de geolocalización. Además, para evitar la identificación de cualquier encuestado individual a partir de sus comentarios literales, se han eliminado todos los campos de preguntas abiertas.
3
Para ayudarle a comprender mejor la lógica de la encuesta, compartimos el conjunto de datos, las preguntas de la encuesta y toda la lógica de la encuesta. Utilizamos métodos de ordenación diferentes para las opciones de respuesta (alfabético, aleatorio y directo). El orden de las respuestas se especifica para cada pregunta.
Una vez más, en nombre tanto de la Python Software Foundation como de JetBrains, queremos darles las gracias a todas las personas que participaron en esta encuesta. ¡Con su ayuda, podemos evaluar el panorama de la comunidad de Python con más precisión!
¡Gracias por el tiempo que nos ha dado!
Esperamos que nuestro informe le haya resultado útil. Comparta este informe con sus amigos y compañeros.
Participar en próximas encuestas:
Si tiene alguna pregunta acerca de esta encuesta o sugerencias para encuestas futuras, póngase en contacto con nosotros en surveys@jetbrains.com o psf@python.org.