Se você leu o título deste artigo e veio correndo para saber qual linguagem é a melhor para você aprender, sinto lhe dizer, mas você caiu em um clickbait! É óbvio que a linguagem mais popular é Python, mas isso não quer dizer que ela seja a melhor. Tudo vai depender do que você está procurando dentro da área de dados.
Vamos começar pela posição de analista de dados. É comum encontrar analistas de dados que nem ao menos sabem programar em Python. Nesta posição o SQL domina e é um pré-requisito para a grande maioria das vagas que encontramos no mercado. Geralmente o maior requisito técnico para a função de analista de dados é o domínio de softwares analíticos como o PowerBI, Tableau, Qlik Sense (ou Qlikview) ou Looker. Todas estas ferramentas possuem suporte para a utilização de queries SQL e algumas delas possuem integrações com outras linguagens de programação. Saber uma linguagem de programação como Python, R, Java, Javascript etc. Pode ser considerado um diferencial, mas não é comum que seja uma exigência.

Pensando agora no engenheiro de dados, esta é a posição dentro da área de dados que mais se aproxima do desenvolvedor de software. Por isso, o mais comum é que sejam exigidas fortes habilidades de desenvolvimento em diferentes linguagens. As linguagens mais comumente pedidas nas vagas são Python, SQL, Pyspark, Scala, Java, Golang, C++ e Rust (em uma ordem do muito comum até o muito raro). Além disso, o conhecimento de bancos de dados também é muito solicitado, sendo tanto para bancos de dados transacionais (que aceitam linguagem SQL) como para bancos de dados NoSQL. Por fim, ferramentas como Airflow, Apache Flink, Apache Kafka, Databricks e muitas outras, também podem ser pedidas. Sendo assim, logo vemos que a área de engenharia de dados é provavelmente a que possui a maior diversidade em sua stack. Por isso, também é comum que as empresas busquem por candidatos que entendam os conceitos envolvidos em cada ferramenta ao invés de buscar alguém que possua experiência utilizando todas elas, pois obviamente isto seria como buscar por um candidato unicórnio.
Indo agora para o cientista de dados, esta é uma área dominada por sete principais linguagens (consegue pensar quais seriam estas sete linguagens?). Dividindo em categorias, em primeiro lugar teremos as linguagens baseadas em Python.
Python é a linguagem mais popular na área e que possui bibliotecas famosas para data science e machine learning, como Pandas, SciKit Learn, Tensorflow e Numpy. Depois temos o PySpark que é uma versão do Python utilizada para executar scripts no Spark.
Indo para as linguagens associadas aos bancos de dados, aqui o SQL lidera absolutamente, sendo utilizado não apenas para resgatar os dados, mas também para executar transformações realizando o processamento ainda no próprio banco de dados.
Agora temos a linguagem R que é uma linguagem muito utilizada por estatísticos e ainda é muito popular no meio da ciência de dados.
Por fim, temos as linguagens baseadas em Java. Começando pelo próprio Java, você pode achar estranho ele está aqui na lista, mas a verdade é que muitas aplicações de data science foram construídas em Java, como o Spark, Weka e DeepLearning4J. No entanto, é mais comum que as empresas busquem por cientistas de dados com domínio da linguagem Scala que é executada diretamente no ambiente Spark e por isso ela é muito utilizada em ambientes baseados em Spark como o Databricks, Amazon Glue, Google Dataproc etc. Por fim temos o Matlab que ainda é muito utilizado dentro das Universidades e projetos de pesquisa.

Obviamente que existem projetos que utilizam outras linguagens como o Haskell, Javascript, C++ e muitas outras. Porém, foquei nas linguagens que, na minha experiência, são as mais comuns de serem pedidas como pré-requisito para as vagas.
Antes de terminar este artigo… Você pode apagar a sua tocha, porque eu estou ciente de que SQL não é uma linguagem de programação. Eu a considerei como tal apenas para simplificar o texto e não precisar ficar me explicando o tempo todo. Além disso, em todas estas posições o Excel continua sendo bastante usado, principalmente em empresas que possuem processos antigos que foram herdados pela área de dados. Mas se você chegou até o fim do texto e se sente frustrado por eu não ter dados uma opinião mais diretas, aqui vai; Se você não possui um projeto específico em vista, sugiro que você comece pelo Python e SQL. Porém, não ignore completamente as outras linguagens! Caso você se sinta curioso sobre alguma outra linguagem, não deixe de aprender um pouco sobre ela. Pode ser que no futuro apareça uma oportunidade de utilizá-la e você poderá focar em aprendê-la mais profundamente.


Deixe um comentário