Esta es la quinta encuesta oficial anual de desarrolladores de Python, realizada por la Python Software Foundation y JetBrains. En otoño de 2021, más de 23 000 desarrolladores y seguidores de Python de casi 200 países o regiones realizaron la encuesta para ayudarnos a conocer el estado actual del marco de trabajo y del ecosistema que lo rodea.
Principal
Secundario
Durante los últimos cuatro años, el porcentaje de desarrolladores que utiliza Python como lenguaje principal se ha mantenido prácticamente en un 84-85 %.
40%
41%
JavaScript
38%
38%
HTML/CSS
33%
35%
Bash / Shell
33%
33%
SQL
30%
29%
C/C++
20%
20%
Java
11%
11%
C#
10%
9%
TypeScript
9%
8%
Go
9%
10%
PHP
6%
5%
Rust
5%
6%
R
4%
4%
Visual Basic
3%
3%
Kotlin
Además de Python, el lenguaje más utilizado es JavaScript. Sin embargo, para los desarrolladores que utilizan Python como lenguaje secundario, C y C++ son casi tan populares como JavaScript. HTML/CSS, Bash/Shell y SQL también están muy extendidos, teniendo en cuenta que más de un tercio de los desarrolladores de Python los utiliza.
42%
49%
SQL
37%
45%
Bash / Shell
36%
69%
JavaScript
34%
60%
HTML/CSS
33%
19%
C/C++
El desarrollo web hace referencia a las personas que seleccionaron «Desarrollo web» como respuesta a la pregunta «¿Para qué utiliza Python con mayor frecuencia?». La ciencia de datos hace referencia a las personas que seleccionaron «Análisis de datos» o «Aprendizaje automático» en la misma pregunta.
No es de extrañar que, además de Python, los lenguajes más utilizados por los desarrolladores web sean JavaScript (69 %) y HTML/CSS (60 %), mientras que los desarrolladores que trabajan con datos utilizan más a menudo SQL (42 %). Además, la proporción de desarrolladores que no utiliza ningún otro lenguaje es el triple entre los que trabajan con datos, en comparación con los desarrolladores web.
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.
Tanto para trabajar como a nivel personal
Para proyectos personales, formativos o secundarios
Para trabajar
51%
54%
Análisis de datos
45%
48%
Desarrollo web
36%
38%
Desarrollo y operaciones / Administración de sistemas / Escritura de scripts de automatización
36%
38%
Aprendizaje automático
31%
35%
Programación de parsers / scrapers / crawlers web
No hay cambios interanuales significativos en la distribución del uso de Python. El análisis de datos, el aprendizaje automático, el desarrollo web y el desarrollo y operaciones siguen siendo los campos en los que más se utiliza Python.
52%
46%
Análisis de datos
48%
32%
Desarrollo web
37%
30%
Aprendizaje automático
35%
37%
Desarrollo y operaciones / Administración de sistemas / Escritura de scripts de automatización
32%
28%
Programación de parsers / scrapers / crawlers web
Desarrollo web
Análisis de datos
Aprendizaje automático
Pruebas de software / Escritura de pruebas automatizadas
Prototipado de software
Desarrollo y operaciones / Administración de sistemas / Escritura de scripts de automatización
Fines educativos
Desarrollo de escritorio
Desarrollo integrado
Programación de redes
Desarrollo móvil
Desarrollo de aplicaciones multimedia
Gráficos por ordenador
Programación de parsers / scrapers / crawlers web
Desarrollo de juegos
Otros
23%
25%
Desarrollo web
17%
17%
Análisis de datos
11%
13%
Aprendizaje automático
10%
10%
Desarrollo y operaciones / Administración de sistemas / Escritura de scripts de automatización
9%
7%
Fines educativos
Una cuarta parte de los desarrolladores que utiliza Python como lenguaje principal lo utiliza principalmente para el desarrollo web, pero entre aquellos para los que Python es un lenguaje secundario, solo lo hace el 12 %.
Curiosamente, en cuanto al análisis de datos como campo principal de uso de Python, prácticamente no hay diferencias entre los desarrolladores para los que Python es el lenguaje de programación principal (17 %) y para los que lo es secundario (16 %).
Esta pregunta solo fue respondida por los encuestados que participaban en análisis de datos y aprendizaje automático.
Solo el 29 % de los desarrolladores de Python que trabaja con el análisis de datos y el aprendizaje automático se considera científico de datos.
2021
2020
2019
2018
2017
De media, la proporción de usuarios de Python 2 disminuye un 5 % cada año, y ahora solo 5 de cada 100 desarrolladores lo utilizan.
Cabe destacar que, en comparación con Python 3, Python 2 se aplica más a menudo a los gráficos por ordenador, los juegos y el desarrollo para móviles.
54%
31%
Análisis de datos
48%
24%
Desarrollo web
38%
27%
Desarrollo y operaciones / Administración de sistemas / Escritura de scripts de automatización
38%
16%
Aprendizaje automático
34%
14%
Programación de parsers / scrapers / crawlers web
Python 3.5 o anterior
Python 3.6
Python 3.7
Python 3.8
Python 3.9
Python 3.10
Nota: Enthought ha obtenido menos del 0,5 % de las respuestas y se ha incluido en Otros.
Más de la mitad de los usuarios de Windows obtiene Python de Python.org, mientras que entre los usuarios de Linux solo lo hace un tercio. No es de extrañar que los usuarios de Linux y macOS instalen y actualicen Python con mayor frecuencia utilizando las opciones proporcionadas por el sistema operativo. A su vez, es bastante usual que los usuarios de macOS utilicen pyenv y los contenedores Docker para obtener Python.
El 75 % de los desarrolladores de Python utiliza alguna herramienta para aislar los entornos de Python. Cabe destacar que los desarrolladores que utilizan Jupyter Notebook (50 %) suelen utilizar Conda para ello, mientras que otros desarrolladores prefieren Virtualenv o Docker.
Flask, Django y FastAPI siguen siendo los tres principales marcos de trabajo web de Python. FastAPI, lanzado inicialmente a finales de 2018, es el que ha crecido más rápidamente, con un crecimiento del 9 % respecto al año anterior. A su vez, en comparación con 2020, la cuota de usuarios de Flask disminuyó un 5 %.
Puede encontrar más información sobre el marco de trabajo Django en la encuesta de desarrolladores de Django de 2021, realizada en colaboración con la Django Software Foundation.
El 10 % de los desarrolladores de Python utiliza a la vez 7 o más marcos de trabajo y bibliotecas de ciencia de datos, mientras que alrededor de la mitad de estos utiliza 2 o menos marcos de trabajo.
Casi todos los demás marcos de trabajo son más populares entre los desarrolladores web que entre los científicos de datos, que utilizan Tkinker y PyQT con mucha más frecuencia.
En comparación con el año pasado, la popularidad de los distintos marcos de trabajo de pruebas de unidad de Python se mantiene prácticamente igual.
Mientras que solo el 56 % de los desarrolladores independientes los utiliza, el 75 % de los encuestados que trabaja en una empresa de 5000 o más empleados afirma utilizar marcos de trabajo de pruebas de unidad.
SQLAlchemy es el ORM más utilizado entre todos los usuarios de bases de datos.
Cabe destacar que el 52 % de los usuarios de Redis utiliza el ORM de Django, mientras que, normalmente, menos de un tercio de los desarrolladores de Python lo utiliza. Asimismo, el 20 % de los usuarios de Amazon Redshift utiliza SQLObject, mientras que entre la población general esta cifra es solo del 5 %.
El 80 % de los científicos de datos utiliza bases de datos, mientras que entre los desarrolladores web lo hace el 98 %.
Los que se dedican al desarrollo web utilizan PostgreSQL con un 32 % más de frecuencia que los que se dedican a la ciencia de datos, Redis un 25 % más y SQLite un 12 % más. Asimismo, los científicos de datos afirman utilizar Oracle Database el doble que los desarrolladores web.
En comparación con el año pasado, la distribución de las herramientas de big data se mantiene prácticamente igual. En general, los científicos de datos las utilizan un 13 % más que otros desarrolladores, y Apache Spark y Dask son prácticamente el doble de populares entre estos.
de los desarrolladores de Python utiliza plataformas en la nube.
Esta pregunta solo la respondieron las personas encuestadas que usan plataformas en la nube.
Cabe destacar que los usuarios de Visual Basic, C# y C/C++ utilizan AWS casi la mitad que los desarrolladores de Python en general.
48%
47%
Dentro de contenedores
41%
43%
En máquinas virtuales
27%
27%
En una plataforma como servicio
24%
25%
Sin servidor
2%
2%
Otros
Esta pregunta solo la respondieron las personas encuestadas que usan plataformas en la nube.
Las máquinas virtuales siguen perdiendo popularidad. Mientras que en 2018 tenían una cuota del 47 % y eran la opción más popular, ahora solo el 41 % de los desarrolladores de Python las utiliza.
53%
56%
Localmente con virtualenv
41%
40%
En contenedores Docker
20%
21%
En máquinas virtuales
19%
17%
En entornos de desarrollo remotos
18%
18%
Con un intérprete del sistema local
Esta pregunta solo la respondieron las personas encuestadas que usan plataformas en la nube.
El desarrollo local de Python con virtualenv es muy popular entre quienes se dedican al desarrollo web, al desarrollo y operaciones y a la creación de prototipos de software (61-65 %). El uso de contenedores Docker es más popular entre los desarrolladores web (54 %).
Las máquinas virtuales las utilizan ampliamente los desarrolladores que se dedican al desarrollo y operaciones, al aprendizaje automático y a la programación de redes (26-27 %). Cabe destacar que aquellos que se dedican al desarrollo y operaciones y al aprendizaje automático también utilizan entornos de desarrollo remotos con más frecuencia que el resto de las personas encuestadas.
Linux
Windows
macOS
BSD
Otros
En comparación con 2020, tanto la popularidad de Linux como la de macOS disminuyó un 5 %, mientras que el uso de Windows ha aumentado un 10 %.
Presentado en 2018, GitHub Actions ganó popularidad rápidamente y ahora ocupa el primer lugar en la lista de sistemas de integración continua, teniendo en cuenta que poco menos de un tercio de los desarrolladores de Python lo utiliza.
Otro sistema de integración continua en crecimiento es Gitlab CI: su uso ha aumentado un 4 % desde 2018. Por su parte, Travis CI está perdiendo rápidamente popularidad, con una disminución del 13 % desde 2018, y Jenkins/Hudson también han caído un 8 % en tres años.
de los programadores de Python utiliza herramientas de documentación. La más popular es Sphinx.
Sphinx
MKDocs
Doxygen
Otros
utilizar el autocompletado en el editor
refactorizar el código
utilizar sistemas de control de versiones
utilizar entornos virtuales de Python para los proyectos
utilizar análisis lint para el código
escribir pruebas para el código
utilizar bases de datos SQL
utilizar los consejos de escritura de forma opcional
utilizar un depurador
ejecutar / depurar o editar código en máquinas remotas
utilizar herramientas de integración continua
utilizar sistemas de seguimiento de incidencias
utilizar la cobertura de código
utilizar un generador de perfiles de Python
utilizar bases de datos NoSQL
En comparación con los desarrolladores que utilizan Python como lenguaje secundario, los que lo utilizan como lenguaje principal utilizan para sus proyectos un perfilador de Python y la cobertura de código un 8 % más, y los entornos virtuales de Python un 10 % más.
La cuota combinada de las ediciones Community y Professional de PyCharm es del 31 %, un resultado parecido al del año pasado. VS Code ha crecido un 6 % respecto del año pasado.
Cabe destacar que PyCharm y VS Code son igual de populares entre los desarrolladores web (39 %), mientras que los científicos de datos prefieren utilizar VS Code como IDE principal un 9 % más.
Para identificar los editores e IDE más populares, planteamos una pregunta de respuesta única: «¿Cuál es el editor principal que utiliza para desarrollar en Python actualmente?».
36%
39%
VS Code
27%
39%
PyCharm
5%
7%
Vim
2%
1%
Atom
2%
2%
Emacs
El desarrollo web hace referencia a las personas que seleccionaron «Desarrollo web» como respuesta a la pregunta «¿Para qué utiliza Python con mayor frecuencia?». La ciencia de datos hace referencia a las personas que seleccionaron «Análisis de datos» o «Aprendizaje automático» en la misma pregunta.
Normalmente, los desarrolladores de Python aprenden a utilizar el IDE principal mediante actividades formativas, recomendaciones de sus amigos/compañeros, o buscadores.
Cabe destacar que solo el 1 % de las personas encuestadas respondió que descubrió la herramienta gracias a la publicidad.
El 57 % de los usuarios de Jupyter Notebook lo descubren en centros formativos/universidad o en cursos online, mientras que el 25 % de las personas encuestadas descubrió su herramienta de la misma manera.
1
2
3
4
5 y más
VS Code, Jupyter Notebook y PyCharm son los que se usan más habitualmente con el IDE principal, y los desarrolladores de Python utilizan cada uno de ellos más del 20 %.
Diario
Semanal
Mensual
Con menos frecuencia
VS Code, Jupyter Notebook y PyCharm son los que se usan más habitualmente con el IDE principal, y los desarrolladores de Python utilizan cada uno de ellos más del 20 %.
Las personas que utilizan Jupyter Notebook como IDE principal utilizan, además, Spyder unas cuatro veces más que otros desarrolladores de Python.
en 2021 la Python Software Foundation contrató a un nuevo desarrollador residente a tiempo completo para que trabajase en el lenguaje de programación Python y apoyase a su comunidad de desarrolladores?
En julio, se contrató a Łukasz Langa para cubrir el puesto de desarrollador residente en CPython. Las tareas de Langa son, entre otras, sacar adelante el trabajo pendiente, investigar las prioridades de los proyectos y estudiar otras áreas de interés.
Tiene buena pinta, pero todavía no veo el impacto que tiene
Tiene buena pinta y ya veo el impacto que tiene
No me gusta
No lo conocía
El 23 % de los desarrolladores de Python ya conocía el puesto de desarrollador residente y el 91 % de ellos cree que es una buena iniciativa.
Además, el 30 % de los desarrolladores que conoce el puesto de desarrollador residente es consciente del impacto que tiene esta innovación.
Solo el 19 % de los usuarios de Python ha informado de los errores con los que se ha encontrado. Cabe destacar que el uso de bugs.python.org no es la forma más habitual de notificarlos: alrededor del doble de programadores prefiere preguntar en otro sitio o enviar una solicitud de incorporación de cambios a GitHub.
El 73 % de los que notificaron errores obtuvo una solución y solo el 7 % de las personas encuestadas afirma no haber recibido respuesta alguna.
Esta pregunta solo la respondieron las personas encuestadas que han notificado incidencias.
de los desarrolladores de Python utiliza contenedores y el 59 % de ellos usa en estos un entorno virtual.
El 45 % de los desarrolladores de Python utiliza alguna herramienta para anclar la versión de las dependencias de las aplicaciones. La forma más habitual de almacenarlas es en requirements.txt, que utilizan tres cuartas partes de los desarrolladores.
Esta pregunta solo la respondieron las personas encuestadas que utilizan herramientas para gestionar versiones precisas/exactas de las dependencias de aplicaciones.
poetry
pipenv
pip-tools
Otros
Ninguna
Esta pregunta solo la respondieron las personas encuestadas que utilizan herramientas para gestionar versiones precisas/exactas de las dependencias de aplicaciones.
El 90 % de los desarrolladores afirma que utiliza pip para instalar paquetes de Python. El Python Package Index es de donde se suelen obtener los paquetes.
de los desarrolladores de Python afirma desarrollar aplicaciones, con Setuptools como la herramienta más habitual para ello, utilizada por el 46 % de estos.
Esta pregunta solo la respondieron las personas encuestadas que desarrollan aplicaciones.
Aunque más de la mitad de los usuarios de Python desarrolla aplicaciones, solo el 40 % de estos las ha publicado en un repositorio de paquetes.
Esta pregunta solo la respondieron las personas encuestadas que desarrollan bibliotecas de Python.
El 34 % de las personas encuestadas desarrolla bibliotecas de Python, el 71 % de las cuales utiliza Setuptools para empaquetarlas.
Cabe destacar que solo el 27 % de los desarrolladores de bibliotecas de Python las ha publicado ya en un repositorio de paquetes.
PyPI
Python Package Index privado
Espejo interno de PyPI
conda-forge
Otros
Esta pregunta solo la respondieron las personas encuestadas que publicaron sus bibliotecas de Python empaquetadas.
El Python Package Index es el lugar más habitual para publicar las bibliotecas desarrolladas y los paquetes de aplicaciones, mientras que Private PyPI se utiliza aproximadamente la mitad.
Trabajo en equipo
Trabajo en mis proyectos de manera independiente
Trabajo como consultor o formador externo
Trabajo en muchos proyectos distintos
Trabajo en un proyecto principal y en varios proyectos paralelos
Solo trabajo en un proyecto
Esta pregunta solo la respondieron las personas encuestadas que trabajan por cuenta ajena.
2-7
8-12
13-20
21-40
> 40
Esta pregunta solo la respondieron las personas encuestadas que trabajan por cuenta ajena.
Esta pregunta solo la respondieron las personas encuestadas que trabajan por cuenta ajena.
Esta pregunta solo la respondieron las personas encuestadas que trabajan por cuenta ajena.
Esta pregunta solo la respondieron las personas encuestadas que están empleadas.
18-20
21-29
30-39
40-49
50–59
Mayor de 60
Menos de 1 año
De 1 a 2 años
De 3 a 5 años
De 6 a 10 años
11 años o más
Menos de 1 año
De 1 a 2 años
De 3 a 5 años
De 6 a 10 años
11 años o más
Los países/regiones con menos del 1 % se han combinado en «Otros».
¿Quiere profundizar en los datos?Descargue las respuestas anónimas de la encuesta y conozca todos los detalles. Comparta sus conclusiones y puntos de vista mencionando a @jetbrains y a @ThePSF en Twitter con el hashtag #pythondevsurvey.
Al menos dos de las siguientes condiciones:
Una vez más, en nombre de la Python Software Foundation y de JetBrains, nos gustaría dar las gracias a todos los que han participado en esta encuesta. Con su ayuda, podemos cartografiar el panorama de la comunidad de Python de forma más precisa.
Colabore con la Campaña de donaciones de la PSF. La PSF es una organización sin ánimo de lucro que se nutre enteramente de sus patrocinadores, sus miembros y el público general.
Consulte los resultados de las encuestas de desarrolladores de Python de 2020, 2019, 2018 y 2017.
Consulte todos los informes de encuestas a gran escala de JetBrains.
Esperamos que este informe le haya resultado útil. ¡Compártalo con sus amigos y compañeros!