Adeus Python. Olá Julia!

OPINIÃO

Adeus Python. Olá Julia!

À medida que a vida útil do Python pára, um novo concorrente está surgindo

1 de maio · min de leitura
Mulher com chapéu cobrindo o rosto na frente do pôr do sol
Se Julia ainda é um mistério para você, não se preocupe. Foto de Julia Caesar no Unsplash
DDon't me interpretem mal. A popularidade do Python ainda é apoiada por uma comunidade sólida de cientistas da computação, cientistas de dados e especialistas em IA.
Mas se você já esteve em uma mesa de jantar com essas pessoas, também sabe o quanto elas reclamam das fraquezas do Python. De lento a exigir testes excessivos, a produzir erros de tempo de execução, apesar dos testes anteriores - há o suficiente para ficar chateado.
É por isso que mais e mais programadores estão adotando outros idiomas - os principais jogadores são Julia, Go e Rust. Julia é ótima para tarefas matemáticas e técnicas, enquanto Go é incrível para programas modulares e Rust é a melhor opção para programação de sistemas.
Como os cientistas de dados e os especialistas em IA lidam com muitos problemas matemáticos, Julia é a vencedora deles. E mesmo após um exame crítico, Julia tem vantagens que Python não pode vencer.

O Zen de Python versus a ganância de Julia

Quando as pessoas criam uma nova linguagem de programação, elas o fazem porque desejam manter os bons recursos das linguagens antigas e corrigir as ruins.
Nesse sentido, Guido van Rossum criou o Python no final dos anos 80 para melhorar o ABC. O último era perfeito demais para uma linguagem de programação - embora sua rigidez tornasse fácil o ensino, era difícil de usar na vida real.
Em contraste, Python é bastante pragmático. Você pode ver isso no Zen of Python , que reflete a intenção dos criadores:
Bonito é melhor que feio. 
Explícito é melhor que implícito. 
Simples é melhor que complexo. 
Complexo é melhor que complicado. 
Flat é melhor que aninhado. 
Esparso é melhor que denso. 
Legibilidade conta. 
Casos especiais não são especiais o suficiente para violar as regras. 
Embora praticidade supere a pureza. 
[...]
O Python ainda mantinha os bons recursos do ABC: legibilidade, simplicidade e facilidade para iniciantes, por exemplo. Mas o Python é muito mais robusto e adaptado à vida real do que o ABC já foi.
Letras BCA escritas em concreto
ABC abriu o caminho para Python, que está abrindo o caminho para Julia. Foto de David Ballew no Unsplash
No mesmo sentido, os criadores de Julia querem manter as partes boas de outras línguas e abandonar as ruins. Mas Julia é muito mais ambiciosa: em vez de substituir um idioma, ela quer vencer todos eles.
É assim que os criadores de Julia dizem:
Somos gananciosos: queremos mais. Queremos uma linguagem de código aberto, com uma licença liberal. Queremos a velocidade de C com o dinamismo de Ruby. Queremos uma linguagem homoicônica, com macros verdadeiras como o Lisp, mas com notação matemática óbvia e familiar como o Matlab. Queremos algo tão útil para programação geral como Python, tão fácil para estatísticas quanto R, tão natural para processamento de strings quanto Perl, tão poderoso para álgebra linear como Matlab, quanto bom para colar programas como o shell. Algo simples de aprender, mas que mantém os hackers mais sérios felizes. Queremos que seja interativo e que seja compilado.
Julia quer mesclar todas as vantagens que existem atualmente, e não trocá-las pelas desvantagens em outros idiomas. E mesmo que Julia seja uma linguagem jovem, ela já alcançou muitos dos objetivos que os criadores definiram.

O que os desenvolvedores de Julia estão amando

Versatilidade

Julia pode ser usada para tudo, desde aplicativos simples de aprendizado de máquina a enormes simulações de supercomputadores. Até certo ponto, o Python também pode fazer isso - mas de alguma forma o Python cresceu no trabalho.
Em contraste, Julia foi construída precisamente para essas coisas. De baixo para cima.

Rapidez

Os criadores de Julia queriam criar uma linguagem tão rápida quanto C - mas o que eles criaram é ainda mais rápido . Embora o Python tenha se tornado mais fácil de acelerar nos últimos anos, seu desempenho ainda está muito longe do que Julia pode fazer.
Em 2017, Julia chegou a se juntar ao Petaflop Club - o pequeno clube de idiomas que pode exceder a velocidade de um petaflop por segundo com desempenho máximo. Além de Julia, apenas C, C ++ e Fortran estão no clube no momento.

Comunidade

Com mais de 30 anos de idade, o Python tem uma comunidade enorme e solidária. Dificilmente existe uma pergunta relacionada ao Python que você não pode responder em uma pesquisa no Google.
Em contraste, a comunidade Julia é bem pequena. Embora isso signifique que você pode precisar procurar um pouco mais para encontrar uma resposta, pode se conectar com as mesmas pessoas repetidas vezes. E isso pode se transformar em relacionamentos com programadores que estão além do valor.

Conversão de código

Você nem precisa conhecer um único comando Julia para codificar em Julia. Não apenas você pode usar os códigos Python e C na Julia. Você pode até usar Julia no Python !
Escusado será dizer que isso torna extremamente fácil corrigir os pontos fracos do seu código Python. Ou para se manter produtivo enquanto você ainda conhece Julia.
As bibliotecas ainda são um ponto forte do Python. Foto de Susan Yin em Unsplash

Bibliotecas

Este é um dos pontos mais fortes do Python - suas zilhões de bibliotecas bem mantidas. Julia não tem muitas bibliotecas, e os usuários reclamaram que ainda não são incrivelmente mantidos.
Mas quando você considera que Julia é uma linguagem muito jovem, com uma quantidade limitada de recursos, o número de bibliotecas que elas já possuem é bastante impressionante. Além do fato de o número de bibliotecas de Julia estar aumentando, ele também pode interagir com as bibliotecas do C e do Fortran para lidar com parcelas, por exemplo.

Tipos dinâmicos e estáticos

Python é 100% digitado dinamicamente. Isso significa que o programa decide em tempo de execução se uma variável é um número flutuante ou um número inteiro, por exemplo.
Embora isso seja extremamente amigável para iniciantes, também apresenta uma série de possíveis erros. Isso significa que você precisa testar o código Python em todos os cenários possíveis - o que é uma tarefa idiota que leva muito tempo.
Como os criadores de Julia também queriam que fosse fácil aprender, Julia suporta totalmente a digitação dinâmica. Mas, ao contrário do Python, você pode introduzir tipos estáticos, se quiser - da maneira que estão presentes no C ou no Fortran, por exemplo.
Isso pode economizar uma tonelada de tempo: em vez de encontrar desculpas para não testar seu código, você pode especificar o tipo onde quer que faça sentido.

Os dados: invista nas coisas pequenas

Número de perguntas marcadas como Julia (esquerda) e Python (direita) no StackOverflow .
Embora todas essas coisas pareçam ótimas, é importante lembrar que Julia ainda é pequena em comparação com Python.
Uma métrica bastante boa é o número de perguntas no StackOverflow: Neste momento, o Python é marcado cerca de vinte vezes mais do que a Julia!
Isso não significa que Julia seja impopular - é natural que leve algum tempo para ser adotada pelos programadores.
Pense nisso - você realmente gostaria de escrever todo o código em um idioma diferente? Não, você prefere tentar um novo idioma em algum projeto futuro. Isso cria um intervalo de tempo que toda linguagem de programação enfrenta entre seu lançamento e sua adoção.
Mas se você adotá-lo agora - o que é fácil porque Julia permite uma enorme quantidade de conversão de idiomas - você está investindo no futuro. À medida que mais e mais pessoas adotam Julia, você já terá experiência suficiente para responder às perguntas deles. Além disso, seu código será mais durável, à medida que mais e mais códigos Python forem substituídos por Julia.
Muitos e zeros na tela, formando um coração vermelho
É hora de mostrar a Julia um pouco de amor. Foto de Alexander Sinn no Unsplash

Bottom line: faça Julia e deixe ser sua vantagem

Quarenta anos atrás, a inteligência artificial não passava de um fenômeno de nicho. A indústria e os investidores não acreditavam nisso, e muitas tecnologias eram desajeitadas e difíceis de usar. Mas aqueles que aprenderam na época são os gigantes de hoje - aqueles com demanda tão alta que seu salário corresponde ao de um jogador da NFL.
Da mesma forma, Julia ainda é muito nicho agora. Mas quando crescer, os grandes vencedores serão aqueles que o adotaram cedo.
Não estou dizendo que você está garantido para ganhar muito dinheiro em dez anos se você adotar Julia agora. Mas você está aumentando suas chances.
Pense nisso: a maioria dos programadores por aí tem Python em seu currículo. E nos próximos anos, veremos ainda mais programadores Python no mercado de trabalho. Mas se a demanda das empresas por Python diminuir, as perspectivas para os programadores de Python vão diminuir. Lentamente a princípio, mas inevitavelmente.
Por outro lado, você tem uma vantagem real se puder colocar Julia no seu currículo. Porque, sejamos honestos, o que o distingue de qualquer outro Pythonista por aí? Não muito. Mas não haverá tantos programadores Julia por aí, mesmo em três anos.
Com as habilidades de Julia, você não apenas mostra que tem interesses além dos requisitos do trabalho. Você também está demonstrando que está ansioso para aprender e que tem uma noção mais ampla do que significa ser um programador. Em outras palavras, você está apto para o trabalho.
Você - e os outros programadores de Julia - são futuros astros do rock, e você sabe disso. Ou, como os criadores de Julia disseram em 2012:
Embora reconheçamos que somos indescritivelmente gananciosos, ainda queremos ter tudo. Há cerca de dois anos e meio, decidimos criar a linguagem da nossa ganância. Não está completo, mas está na hora de um lançamento 1.0 - o idioma que criamos é chamado Julia . Ele já atende 90% de nossas demandas desagradáveis ​​e agora precisa das demandas desagradáveis ​​de outros para moldá-lo ainda mais. Portanto, se você também é um programador ganancioso, irracional e exigente, queremos que você tente.
Python ainda é incrivelmente popular. Mas se você aprender Julia agora, esse poderá ser seu bilhete de ouro mais tarde. Nesse sentido: Bye-bye Python. Olá Julia!

Comentários

Postagens mais visitadas deste blog

SE MARAVILHAR COM AS COISAS DA VIDA

Dilemas econômicos: Teorema de Arrow

SQL em escala com o Apache Spark SQL e DataFrames - conceitos, arquitetura e exemplos