Home  >  Negócios

8 razões pelas quais Python governará as empresas

E 8 razões pelas quais não. Ascensão da Python levará muitos gerentes corporativos a se perguntar se é hora de entrar na onda hype

Peter Wayner, Infoworld

28/01/2021 às 18h11

Foto: Adobe Stock

Não há dúvida de que o Python é muito popular entre os desenvolvedores de software ou que sua popularidade continua a crescer. A TIOBE, empresa de software que mede e publica a popularidade das linguagens de programação todos os meses, relatou em novembro que a Python subiu para o segundo lugar pela primeira vez, passando a Java.

Poucos podem negar a importância crescente da linguagem de script outrora humilde do mundo do código aberto. A ascensão da Python levará muitos gerentes corporativos a se perguntar se é hora de entrar na onda hype. Para tentar dar sentido a essa pergunta impossível, elaboramos uma lista de oito razões pelas quais se juntar à multidão é inteligente e oito outras razões pelas quais você pode querer esperar algumas décadas.

Python é popular...

Contratar programadores é mais fácil, especialmente a geração mais jovem que acabou de se formar em faculdades que adotaram Python quase universalmente para aulas introdutórias de programação. Graças à onipresença do Python, há mais novas bibliotecas e ferramentas disponíveis e, como vimos no machine learning, é mais provável que a tecnologia mais recente seja escrita na linguagem mais quente.

...Mas, a popularidade pode atrasar as empresas

Uma coisa é se juntar à multidão se você está procurando um romance para ler na praia, mas outra é quando você gerencia uma pilha de software que pode durar décadas. Deixar a nova equipe fazer o que é popular leva a uma coleção de código com camadas muito parecidas com anéis de árvore. Os arquivos mais recentes são preenchidos com JavaScript, então há um pouco de Ruby, um pouco de Java e talvez um pouco de ColdFusion envolto em um núcleo cheio de COBOL, com algumas bibliotecas escritas em SNOBOL. Você quer que sua base de código seja uma boa ilustração de toda a história da codificação?

As diferenças tornam a manutenção impossível. Os novos codificadores não conseguem nem mesmo ler o código de alguns anos, então eles o tratam como uma caixa preta e escrevem rotinas de cola sem fim para traduzir os dados para o formato que desejam. Os anéis das árvores ficam mais grossos e numerosos, embora não haja muito trabalho novo sendo feito. A pilha pode fazer algo simples como manter um livro-razão de transações com um total em execução, mas tem milhões de linhas de código e os dados vão em uma busca de um herói tão assustadoramente quanto na trilogia de "O Senhor dos Anéis". A pilha pode converter os dados 18 vezes enquanto vai e volta na viagem ao centro do código onde o mágico Wizard do COBOL executa a lógica de negócios definitiva.

Consistência pode ser entediante, mas a empresa não precisa de códigos interessantes. Ele precisa do software para funcionar.

Pessoas gostam de linguagens de script...

Linguagens como Python foram criadas porque os programadores geralmente precisam resolver pequenos problemas. Eles querem jogar fora algumas linhas e terminar sem o incômodo de iniciar alguma IDE, aguardar o carregamento das bibliotecas certas, criar os repositórios de código e configurar o caminho de construção CI/CD. Zilhões de pequenos trechos de código não podem estar errados. Se for fácil escrever algumas linhas, a simplicidade deve se estender para escrever alguns milhões de linhas, certo?

...Mas planilha é a linguagem de script para empresas

Muitos programadores podem não perceber quanta computação é feita em planilhas, muitas vezes porque eles não percebem quanto trabalho real pode ser realizado por pessoas que nem mesmo pensam em si mesmas como programadoras. Os programadores podem descartar as ferramentas como processadores de texto, mas para números, mas eles não percebem o quão úteis e adaptáveis ​​as planilhas podem ser. É por isso que tantas ferramentas empresariais geram relatórios como planilhas e tantas equipes de negócios usam planilhas como a linguagem franca. Python é uma boa ferramenta para alguns laboratórios de ciências, mas por que deixar de ser uma ferramenta perfeitamente boa que muitas pessoas no escritório já conhecem?

Linguagens dinâmicas são divertidas...

Uma das razões pelas quais a codificação Python pode ser tão rápida é que a linguagem não exige que o programador gaste tempo definindo data types laboriosamente. O intérprete é inteligente o suficiente para sinalizar erros durante a execução, então por que não deixar que a inteligência da máquina faça parte do trabalho por nós?

...Mas linguagens tipadas são melhores para grandes trabalhos

Há muita discordância sobre essa afirmação, mas uma reclamação comum sobre linguagens dinâmicas é que um erro em uma parte do programa finalmente levará a um travamento em um lugar completamente diferente. Depurar significa encontrar a conexão. Neste verão, enquanto lutava com um erro do Python, um programador que conheço começou a maldizer a falta de typing das linguagens dinâmicas.

As chamadas linguagens tipadas forçam o desenvolvedor a adicionar uma camada extra de informações que pode ajudar a detectar esses problemas antes mesmo que o código seja executado pela primeira vez. Isso também ajuda equipes maiores a trabalharem juntas, porque elas não precisam ler as mentes umas das outras sobre os data types e saber que qualquer variável chamada "i" será apenas um número inteiro. A boa notícia é que Python está adotando type hinting. Se você deseja o poder da checagem tipada, só precisa convencer a equipe a adicionar as sugestões.

Brinquedos não são só para crianças...

O sucesso do Python é apenas um reflexo dos avanços nas ferramentas e a ascensão do programador casual. Assim como a chamada revolução “no-code” está varrendo algumas camadas, os não-programadores estão percebendo que podem fazer bastante com apenas algumas ferramentas básicas. Claro, os programadores sérios podem descartar linguagens de script como Python como brinquedos, mas se o trabalho for feito, quem se importa?

...Projetos sérios exigem ferramentas sérias

Uma linguagem certa para a criação de 10 linhas de código não é automaticamente boa para a criação de pilhas de 10 mil linhas ou monstruosidades de 10 milhões de linhas. Com o passar dos anos, os programadores adicionaram construções inteligentes que organizam grandes bases de código com disciplina e consistência. Os amantes do Python têm enxertado essas ideias na linguagem, mas frequentemente à custa da compatibilidade com versões anteriores. Linguagens como Java ou C/C++ evoluíram para lidar com as tarefas que os programadores corporativos precisam fazer.

Machine learning e a ciência de dados estão em alta...

Antigamente, era o suficiente para a equipe de TI gerenciar o estoque e manter os livros em ordem. Agora, muitas empresas estão explorando abordagens mais sofisticadas usando matemática complexa e inteligência artificial. Acontece que Python é extremamente popular nesses mundos. Claro, você pode esperar que alguém reescreva as bibliotecas de machine learning em COBOL ou simplesmente digitar um pouco mais de código de cola e pronto.

...Mas perseguir modismos requer cuidado

Pode ser muito cedo para saber se abordagens como machine learning existirão tão longas quanto, digamos, a coerência quântica no núcleo super resfriado de um computador quântico, mas às vezes a equipe de TI não consegue tomar essa decisão. Se alguém quiser, o desafio será encontrar a melhor maneira de realizá-lo sem bagunçar a base de código. Alguns insistem que o Python seja usado apenas dentro desses processos e que a maior parte do trabalho seja feito com uma linguagem padrão para o máximo de consistência possível.

O ecossistema Python está crescendo...

Momentum pode ser um conceito importante na aula de física, mas não deve se aplicar a coisas como linguagens de programação que não têm massa. Possivelmente. Mas ninguém pode negar que existe um ciclo de feedback de empolgação que atrai mais programadores, que então escrevem mais bibliotecas que atraem mais programadores. A ascensão do Python nos gráficos TIOBE representa as decisões individuais de milhares, senão milhões de programadores que analisaram todas as opções e escolheram a Python. Poderíamos pensar demais e ficar olhando para o nosso umbigo um pouco mais, ou poderíamos simplesmente acompanhar a multidão.

...Mas o crescimento não foi uniforme

Algumas das linguagens de programação como Java valorizam a evolução lenta e apenas de uma forma que evite quebrar alguma coisa. A equipe Python não parece ter tanto medo do progresso. O salto da Python 2.6 para a Python 3.0 foi grande e todos sabem que são duas linguagens diferentes.

Os saltos menores, porém, costumam ser igualmente deprimentes. Uma rápida olhada nas notas de lançamento da versão Python 3.9 mostra que eles acabaram de alterar o error type retornado pela função de importação, bem como o comportamento da função de substituição. Essas podem ser melhorias reais, e os outros novos recursos são bons, mas a coisa inteligente a fazer é tratar cada atualização como uma linguagem distinta. Então, na realidade, existem agora mais variantes diferentes de Python do que você pode contar nos dedos.

Python parece fazer parte do sistema operacional...

O Linux pode ter começado com C e código assembly, mas Python parece que está em todo lugar. Agora é uma parte tão grande de muitas distribuições Linux que as pessoas fazem perguntas sobre como adicionar Python à sua versão do kernel. Se você for usar máquinas Linux, usar Python o ajudará a se adaptar.

...Mas Python e Linux são codependentes

Essa conexão estreita tem desvantagens. Nesta primavera, perdi alguns dias porque o Ubuntu 19.04 depende da Python 3.7 por padrão, sendo que o Ubuntu 18.04 usa a Python 3.6. A pilha de código oferecida a mim seria executada na máquina Ubuntu 18.04, mas falharia quando eu a movesse para a máquina com a versão mais recente do Ubuntu. Algo mudou entre Python 3.6 e Python 3.7. Mas se eu substituísse a Python 3.7 na máquina Ubuntu 19.04 pelo Python 3.6, veria falhas no sistema operacional.

Depois de alguns dias lutando com as várias ferramentas que tentam facilitar a instalação da Python, acabei de fazer o downgrade do Ubuntu 19.04 para o Ubuntu 18.04 e parei de pensar nisso. A comunidade Python está bem ciente desses problemas e constrói ferramentas para gerenciá-los, mas a proliferação dessas ferramentas de malabarismo Python adiciona outra camada de meta confusa. Um ajudante no projeto estava usando Pip e o outro estava usando Anaconda e ambos insistiram que meus problemas desapareceriam ao mudar para seu favorito. Mas isso não aconteceu.

Esses problemas não tendem a incomodar os cientistas nos laboratórios que estão apenas escrevendo algumas linhas para resumir seus dados. Eles podem simplesmente reinstalar versões diferentes ou executar coisas em algum contêiner. Mas problemas como esses podem ser paralisantes para qualquer pessoa que tente manter uma grande pilha de código que foi escrita ao longo dos anos em máquinas com diferentes versões da linguagem. Tente dizer aos novos contratados que aprenderam Python 3.9 na escola que a base de código está congelada na Python 3.2.5.

Python está em toda parte...

A tradição do código aberto encorajou muita experimentação e inovação, criando um peso em sua pilha, mas até mesmo para mantê-la funcionando. Embora algumas linguagens construídas e mantidas por uma única empresa tenham um compilador, os autores do Python podem discutir sobre seus favoritos em uma lista que precisa de mais de uma mão para contar. Existem dezenas de opções infinitas.

...Mas a tirania da escolha é real

É realmente um presente receber uma longa lista de opções? Ou você prefere ter uma escolha sólida em que possa confiar? O código-fonte aberto é um banquete maravilhoso, mas não vem com uma ajuda adicional de tempo extra durante o dia para tentar as opções, corrigir as falhas e mexer nele até que funcione.

Faz isso fácil

Oficinas corporativas precisam avançar com passos de bebê. Python é uma ótima ferramenta que não vai desaparecer. Agora está profundamente enraizado no sistema educacional e isso significa que está mais perto de se tornar a língua franca.

As equipes precisam migrar lentamente para o futuro, e adotar mais Python é uma maneira de fazer isso. A questão é como fazer isso com cuidado e com uma estratégia sólida. A boa notícia é que Python não exige grandes investimentos em tempo ou infraestrutura. Ele foi projetado para pequenos trabalhos. É possível começar pequeno, aproveitar os benefícios e mantê-lo sob controle. Trabalhos maiores podem vir mais tarde, se fizer sentido.