Resultados da Pesquisa de 2020 para desenvolvedores Python
Resultados da Pesquisa de 2020 para desenvolvedores Python
Esta é a quarta iteração da Pesquisa de Desenvolvedores Python anual oficial, realizada como um esforço colaborativo entre a Python Software Foundation e a JetBrains. Em outubro de 2020, mais de 28.000 desenvolvedores e entusiastas do Python de quase 200 países/regiões participaram da pesquisa para revelar o estado atual da linguagem e do ecossistema ao seu redor.
Uso geral do Python
Python como linguagem principal x secundária
85% dos entrevistados usam o Python como principal linguagem de programação.
Uso do Python com outras linguagens
O JavaScript é a linguagem mais popular para os desenvolvedores combinarem com o Python. Junto com o HTML/CSS, Bash/Shell e o SQL, eles criam uma pilha de linguagens em que 2 em cada 5 desenvolvedores Python estão usando pelo menos uma delas.
O JavaScript e o C/C++ são as principais linguagens mais comuns entre os desenvolvedores que usam o Python como linguagem secundária.
Linguagens para a Web e Ciência de Dados
Web dev refere-se a pessoas que selecionaram "Desenvolvimento Web" em resposta à pergunta "Para o que você mais usa o Python?". Ciência de dados refere-se a pessoas que selecionaram "Análise de dados" ou "Machine learning" na mesma pergunta.
Apenas 8% dos desenvolvedores Python que realizam tarefas relacionadas a dados não usam linguagens adicionais, enquanto apenas 3% dos desenvolvedores Web trabalham apenas com o Python. Não é nenhuma surpresa que 75% dos desenvolvedores Web estejam usando o Python e o JavaScript.
Finalidades para o uso do Python
Nesta seção, fizemos perguntas para descobrir para que as pessoas usam o Python, em que tipos de desenvolvimento elas estão envolvidas e como combinam seus vários usos.
Para quais propósitos você usa principalmente o Python?
Para que você usa o Python?
As pequenas mudanças nos casos de uso do Python podem ser explicadas por uma parcela maior de estudantes (13% contra 10% no ano passado) entre os entrevistados da Pesquisa. Houve um aumento nos objetivos educacionais e uma diminuição em todos os outros tipos de atividades que os entrevistados realizam com o Python.
Até que ponto você está envolvido nas seguintes atividades?
Para o que você mais usa o Python?
Você se considera um Cientista de Dados?
Apenas 32% dos desenvolvedores Python envolvidos em análises de dados e machine learning se consideram Cientistas de Dados.
Cientistas de Dados têm duas vezes mais chances de usar o Anaconda para atualizar suas versões do Python, enquanto os outros usuários do Python preferem o Python.org.
Essa pergunta foi respondida apenas por entrevistados que estão envolvidos em Análises de dados e Machine learning.
Versões do Python
Python 3 x Python 2
Casos de uso de versões do Python
Versões do Python 3
Instalação e upgrade do Python
Os usuários do Windows tendem a instalar o Python do Python.org, enquanto os usuários do Linux e macOS geralmente usam contêineres do Python, pyenv ou Docker fornecidos pelo sistema operacional.
Isolamento de ambiente do Python
Existem dependências interessantes entre os IDEs e as ferramentas de isolamento do ambiente:
- Mais da metade dos usuários do Jupyter Notebook e do JupyterLab escolheram o Conda. A participação do Conda entre os usuários de outros editores é de apenas cerca de 20%.
- O PyCharm Professional Edition é líder entre os usuários do Virtualenv e do Docker.
- O VS Code e o PyCharm têm as maiores participações entre os usuários do Python que usam o Pipenv.
- O Vim é o líder para os usuários do Python que usam o Vagrant e o Poetry.
Recursos do Python
Recursos favoritos do Python
Esses resultados são baseados nas respostas à pergunta aberta "Quais são os três recursos da linguagem Python que você mais curte?"
* Excluindo bibliotecas padrão, estruturas de dados incorporadas e expressões que foram extraídas em clusters separados:
- Compreensão de listas, gerador
- Lista e dicionário
- Decorador
- Asyncio, threading, multiprocessamento
- Gerenciador de contexto
- Função do Lambda
** Outros tópicos especificados por menos de 1% dos entrevistados.
Recursos desejados do Python
Esses resultados são baseados nas respostas à pergunta aberta "Quais são os três recursos de linguagem que você gostaria de adicionar ao Python?"
* Excluindo as melhorias nas bibliotecas padrão que foram extraídas em outros clusters.
** Outros tópicos especificados por menos de 1% dos entrevistados.
Frameworks e Bibliotecas
Frameworks da Web
A FastAPI foi introduzida nas opções pela primeira vez com essa iteração da pesquisa e parece ser o terceiro framework da Web mais popular para o Python.
Frameworks e bibliotecas de Ciência de Dados
Os usuários do NumPy são mais propensos a usar o Conda para isolar seus ambientes Python do que outros usuários do Python. (32% vs. 22%)
Frameworks de teste de unidade
O uso de frameworks de testes de unidade se correlaciona perfeitamente com os anos de experiência profissional. Desenvolvedores Python mais jovens são muito menos propensos a fazer testes de unidade.
Além disso, é mais comum para desenvolvedores envolvidos em análise de dados e machine learning usar estruturas de testes de unidade do que para desenvolvedores Web e DevOps. Os desenvolvedores para os quais o uso de frameworks de teste de unidade é mais comum são previsivelmente desenvolvedores envolvidos em testes de software e criação de testes automatizados.
Outros frameworks e bibliotecas
72% dos desenvolvedores que escolhem a AWS usam o framework Requests.
Os usuários do Tkinter e do Pygame são principalmente jovens especialistas com menos de um ano de experiência.
ORMs
A maioria dos usuários do Python que usam o Flask preferem o SQLAlchemy, enquanto os usuários do Django usam o Django ORM. Dá para acreditar?
Bancos de dados
O PostgreSQL é o banco de dados mais popular entre os desenvolvedores Python, e é ainda mais difundido entre os usuários da AWS, com uma parcela de 65%.
Ferramentas de Big Data
A maioria dos usuários de ferramentas de Big Data prefere o JupiterLab. Isso é especialmente válido para usuários do Apache Spark e do Dask. O segundo lugar é ocupado pelo Jupyter Notebook, embora o PyCharm Professional seja a escolha mais popular entre os usuários do Apache Kafka.
Tecnologias e nuvem
Principais plataformas de nuvem
O Heroku e o PythonAnywhere são populares entre jovens profissionais com experiência profissional de até 2 anos, enquanto a AWS e o DigitalOcean são mais populares entre os programadores Python mais experientes.
Como você executa código na nuvem (no ambiente de produção)?
Executar código em contêineres ainda é o método mais popular, enquanto as máquinas virtuais perderam um pouco de sua popularidade, com apenas 43% dos usuários usando-as em 2020. Em 2018, elas tinham uma participação de 47% e eram a escolha mais popular.
Como você desenvolve para a nuvem?
Testadores compõem a maioria daqueles que desenvolvem para a nuvem em contêineres do Docker.
Desenvolvedores Web são significativamente menos propensos a desenvolver em ambientes de desenvolvimento remoto e em máquinas virtuais do que outros tipos de desenvolvedores. Eles preferem trabalhar localmente com o Virtualenv.
Ferramentas de desenvolvimento
Sistema operacional
68%
Linux
48%
Windows
29%
macOS
2%
BSD
1%
Outra opção
Quanto mais experientes são os desenvolvedores Python, maiores são as chances de eles usarem o Linux e o macOS como ambientes de desenvolvimento e menores as chances de eles escolherem o Windows.
Sistemas de integração contínua (CI)
Em 2020, o Gitlab CI ultrapassou o antigo líder na categoria sistemas de Integração Contínua: Jenkins/Hudson.
Testadores são os usuários que mais utilizam os sistemas de Integração Contínua. Quase 80% dos desenvolvedores envolvidos em testes de software ou redação de testes automatizados usam sistemas de CI.
Ferramentas de gerenciamento de configuração
Editores e IDEs
Para identificar os editores e IDEs mais populares, fizemos uma pergunta de resposta única "Qual é o editor principal que você usa para o seu desenvolvimento Python atual?" As opções que receberam menos de 0,5% em 2019 foram combinadas na opção "Outras".
A participação combinada das edições do PyCharm Community e Professional é de 33%, o que corresponde aos resultados do ano passado. O VS Code continua a crescer, recebendo 5% a mais de participação do que no ano passado. Enquanto isso, a maioria dos editores de texto como o Vim ou o Sublime Text perdeu uma parte de sua participação.
O Jupyter Notebook, o Jupiter Lab e o Spyder ganharam mais usuários entre os campos da ciência de dados.
As participações de usuários do VS Code que trabalham com dados e daqueles que são desenvolvedores Web são praticamente iguais.
A participação de usuários do PyCharm que são desenvolvedores Web é aproximadamente o dobro em comparação à dos usuários que trabalham com dados, e a diferença é especialmente evidente para o PyCharm Professional Edition.
Ferramentas e recursos para desenvolvimento Python
A maioria das ações listadas nesta pergunta mostra uma mudança clara em favor dos usuários mais experientes. Quanto mais tempo um desenvolvedor está na profissão, maior é a probabilidade de ele usar as tecnologias listadas. Porém, essa relação não é válida para sugestões de tipos opcionais e complementação automática. Os usuários do Python com mais de 11 anos de experiência são muito menos propensos a realizar essas ações regularmente do que aqueles que codificam por 3-5 anos.
Emprego e Trabalho
Trabalhando em equipe x trabalhar independentemente
Trabalhando em projetos
Tamanho da equipe
Situação de emprego
Tamanho da empresa
Setor da empresa
Setor-alvo
Cargos
Experiência com o Python
Experiência de codificação profissional
Faixa etária
Em que país/região você mora?
Todos os países/regiões com menos de 1% foram mesclados em "Outros".
Metodologia e Dados Brutos
Quer se aprofundar mais nos dados? Baixe as respostas anônimas da pesquisa e veja o que você pode aprender. Compartilhe suas descobertas e ideias mencionando @jetbrains e @ThePSF no Twitter com a hashtag #pythondevsurvey.
Antes de dissecar esses dados, observe as seguintes informações importantes:
1
O conjunto de dados inclui respostas apenas de canais oficiais da Python Software Foundation. Depois de filtrar as respostas duplicadas e não confiáveis, o conjunto de dados inclui mais de 28.000 respostas coletadas em outubro e novembro de 2020 por meio da promoção da pesquisa no python.org, no blog da PSF, a conta da PSF no Twitter e LinkedIn, listas oficiais de discussão do Python e subreddits relacionados ao Python. Para evitar que a pesquisa fosse inclinada em favor de qualquer ferramenta ou tecnologia específica, não foram utilizados canais relacionados a produtos, serviços ou fornecedores para coletar as respostas.
2
Os dados são anonimizados, sem informações pessoais ou detalhes de geolocalização. Além disso, para evitar a identificação de quaisquer entrevistados individuais por suas observações literais, todos os campos abertos foram excluídos.
3
Para ajudar você a entender melhor a lógica da pesquisa, estamos compartilhando o conjunto de dados, as perguntas da pesquisa e toda a lógica da pesquisa. Usamos diferentes métodos de ordenação para as opções de resposta (alfabética, aleatória e direta). A ordem das respostas é especificada para cada pergunta.
Mais uma vez, em nome da Python Software Foundation e da JetBrains, gostaríamos de agradecer a todos os que participaram desta pesquisa. Com a ajuda de vocês, fomos capazes de mapear o panorama da comunidade Python com mais precisão!
Obrigado pelo seu tempo!
Esperamos que você tenha achado nosso relatório útil. Compartilhe este relatório com seus amigos e colegas.
Participe de pesquisas futuras:
Se você tiver alguma dúvida sobre esta pesquisa ou sugestões para pesquisas futuras, entre em contato conosco em surveys@jetbrains.com ou psf@python.org.