No mundo altamente disruptivo da ciência de dados, nada é para sempre. Sempre que surgem novas ferramentas e softwares, eles podem chacoalhar o status quo da tecnologia. Essa dinâmica fica especialmente visível no universo das linguagens de programação. Há uma boa quantidade de linguagens de programação bem adequadas para ciência de dados. Embora hoje o mercado seja dominado por algumas linguagens muito populares, outras, supostamente mais poderosas, estão ganhando tração. Um dos exemplos mais promissores é Julia.
Lançada pela primeira vez em 2012, Julia pode ser considerada uma estrela em ascensão na ciência de dados. Apesar de relativamente nova, Julia já impressionou o mundo da computação numérica com seu alto desempenho e velocidade de processamento imbatível. Ao longo dos anos, Julia amadureceu e hoje é frequentemente apontada como uma das “linguagens do futuro” para ciência de dados e inteligência artificial.
Existem muitos motivos convincentes para começar a aprender Julia. No entanto, o caminho de transição pode variar conforme as linguagens de programação com as quais você já está familiarizado. Enquanto a maioria dos artigos e cursos foca em como passar do MATLAB para uma das duas linguagens mais populares para ciência de dados, Python e R, também é importante oferecer recursos para usuários de outras linguagens interessados em migrar para Julia.
O objetivo deste artigo é apresentar Julia a programadores MATLAB. Vamos estudar as diferenças e semelhanças entre as duas linguagens e compartilhar dicas para migrar do MATLAB para Julia para análise e visualização de dados. Vamos lá!
Para que serve o MATLAB?
MATLAB é uma linguagem de programação criada especificamente para computação numérica. Desde seu lançamento em 1984, MATLAB (abreviação de "MATrix LABoratory") tem sido amplamente adotada na academia e na pesquisa científica. Apesar de ser relativamente antiga, continua extremamente popular. Em outubro de 2022, ficou na 14ª posição tanto no Índice PYPL quanto no Índice TIOBE.
A linguagem MATLAB se destaca em tarefas computacionais de alto nível, incluindo operações matemáticas e estatísticas avançadas. A linguagem também inclui recursos de plotagem e implementação de algoritmos, o que a torna uma candidata perfeita para ciência de dados.
No entanto, há um ponto importante: é uma ferramenta proprietária. Isso significa que, a menos que sua instituição te conceda acesso, como costuma acontecer em ambientes acadêmicos, você pode ter que pagar caro por uma licença. Além disso, como os usuários não têm acesso ao código-fonte, pode ser difícil entender como alguns recursos do MATLAB funcionam.
Esses fatores podem tornar o MATLAB menos atraente em comparação com outras linguagens de programação que você pode usar gratuitamente.
Para que serve Julia?
Por trás de toda inovação existe o desejo de melhorar ou superar as tecnologias dominantes do momento. Esse foi o impulso por trás de Julia, que se inspira em algumas das linguagens de programação mais poderosas. Como Jeff Bezanson, Stefan Karpinski, Alan Edelman e Viral B. Shah, fundadores da linguagem, afirmaram em um post explicando por que criaram Julia:
"Queremos uma linguagem open source, com licença permissiva. Queremos a velocidade de C com o dinamismo de Ruby. Queremos uma linguagem homoicônica, com macros de verdade como Lisp, mas com notação matemática óbvia e familiar como o Matlab. Queremos algo tão útil para programação geral quanto Python, tão fácil para estatística quanto R, tão natural para processamento de strings quanto Perl, tão poderoso para álgebra linear quanto o Matlab, e tão bom para integrar programas quanto o shell. Algo muito simples de aprender, mas que agrade até os hackers mais exigentes. Queremos que seja interativa e compilada."
Por conta de suas características únicas, resultado desse processo de “seleção dos melhores” entre as linguagens, Julia está ganhando espaço rapidamente.
Desde seu primeiro lançamento em 2021, Julia já foi baixada mais de 40 milhões de vezes, e a comunidade registrou mais de 8.000 pacotes para uso público. Eles incluem diversas bibliotecas matemáticas, ferramentas de manipulação de dados e pacotes para computação de uso geral.
Quanto à sua popularidade em relação a outras linguagens, Julia ocupa a 25ª e a 27ª posição nos índices PYPL e TIOBE de outubro de 2022, respectivamente.
Julia é uma linguagem de programação de uso geral, o que significa que pode ser aplicada em várias tarefas de desenvolvimento de software, como desenvolvimento web e de jogos, mas é particularmente adequada para machine learning e computação estatística. De fato, entusiastas de Julia gostam de chamá-la de herdeira de Python e R na ciência de dados.
Dito isso, Julia ainda tem um caminho pela frente até se tornar a linguagem padrão da área. Quem está começando na jornada provavelmente vai querer aprender primeiro Python e R. No entanto, como complemento às habilidades existentes, Julia pode ser uma excelente escolha. Você pode saber mais sobre para que Julia é usada em outro post do blog.
o que usuários de MATLAB devem saber sobre Julia
Existem motivos sólidos para adotar Julia. Nesta seção, vamos olhar de perto os principais recursos que tornam Julia uma linguagem tão poderosa — e um candidato ideal para usuários de MATLAB que queiram migrar para Julia.
velocidade: MATLAB vs. Julia
Julia foi projetada pensando em usuários técnicos e científicos. Para resolver problemas de negócio e apoiar a tomada de decisão, profissionais de dados frequentemente lidam com grandes volumes de dados e técnicas complexas, incluindo algoritmos de machine learning e redes neurais artificiais.
Essas atividades não só exigem recursos computacionais importantes, como também pedem uma linguagem de programação que execute código muito rapidamente, para que os profissionais não precisem esperar demais pelos resultados.
Porém, escolher a linguagem certa pode ser difícil. A maioria das linguagens enfrenta o dilema entre desempenho e legibilidade do código.
Tradicionalmente, linguagens com alto desempenho tendem a ser mais difíceis de usar, e vice-versa. Por exemplo, linguagens “de alto nível” populares, como MATLAB e Python, sacrificam velocidade em nome da flexibilidade e legibilidade, enquanto C, C++ e Fortran são conhecidas por serem muito rápidas, mas com sintaxe bem mais complexa.
Isso significa que desenvolvedores precisam de mais tempo — e, muitas vezes, mais experiência — para escrever código nessas linguagens.
É aqui que Julia entra em cena. Julia foi desenhada para ser relativamente simples e rápida para programar e, ao mesmo tempo, executar código e realizar cálculos com muita velocidade. Com desempenho comparável ao de C, Julia já é uma das linguagens mais rápidas da história. Ao comparar o desempenho das duas linguagens, MATLAB é significativamente mais lento do que Julia.
Para ilustrar o desempenho imbatível de Julia, na tabela a seguir você encontra um benchmark de como Julia e MATLAB se comportam ao executar um laço for para criar uma matriz a partir de um vetor. Mais detalhes sobre o teste de benchmark podem ser encontrados neste artigo.
|
N |
Julia (single thread) |
Julia (multi-thread) |
MATLAB (single thread) |
MATLAB (multi-tread) |
|
1000 |
0.035s |
0.007s |
0.067s |
0.0367s |
|
2000 |
0.126s |
0.031s |
0.255s |
0.034s |
|
3000 |
0.289s |
0.062s |
0.543s |
0.073s |
|
4000 |
0.554s |
0.116s |
0.965s |
0.123s |
|
5000 |
0.831s |
0.215s |
1.510s |
0.189s |
|
6000 |
1.108s |
0.274s |
2.161s |
0.268s |
|
7000 |
1.489s |
0.304s |
2.936s |
0.364s |
|
8000 |
1.948s |
0.402s |
3.830s |
0.478s |
|
9000 |
2.460s |
0.505s |
4.847s |
0.610s |
|
10000 |
3.039s |
0.616s |
5.977s |
0.753s |
sintaxe: MATLAB vs. Julia
Como mencionamos, Julia encerrou o debate entre desempenho e legibilidade. A sintaxe da linguagem é próxima do inglês e é dinamicamente tipada, o que a torna tão simples de aprender e escrever quanto MATLAB ou Python. Mas, por ser compilada, consegue ser tão rápida quanto linguagens estaticamente tipadas como C ou Fortran.
E tem mais: se você está pensando em migrar de MATLAB para Julia, aqui vai uma boa notícia — as duas linguagens são bem parecidas, do ponto de vista sintático. Não é surpresa: no fim das contas, MATLAB foi uma das principais fontes de inspiração para os criadores de Julia.
Veja alguns exemplos de operações básicas em MATLAB e Julia:
Laços for
% for loop in MATLAB
for i = 1:N
% do something
end
# for loop in Julia
for i in 1:N
# do something
end
Estruturas if / else
% if/else in MATLAB
if i <= N
% do something
else
% do something else
end
# if/else in Julia
if i <= N
# do something
else
# do something else
end
Funções UDF
% function in MATLAB
function out = f(x)
out = x^2
end
# function in Julia
function f(x)
return x^2
end
Apesar das semelhanças, vale lembrar que Julia não é um clone de MATLAB. Ainda existem diferenças sintáticas e funcionais importantes. Na próxima seção, cobrimos algumas semelhanças e diferenças entre MATLAB e Julia.
Julia vs. MATLAB: uma comparação
Abaixo você encontra uma tabela com diferenças entre Julia e MATLAB:
|
Julia |
MATLAB |
|
|
Propósito |
Linguagem focada em ciência computacional, análise de dados e inteligência artificial |
Linguagem e plataforma científica usadas para análise de dados e computação matemática |
|
Tipo de linguagem |
Linguagem de alto nível, de uso geral, compilada e dinâmica |
Linguagem de alto nível, específica de domínio, interpretada e dinâmica |
|
Open source? |
Sim |
Não |
|
Data de lançamento |
2012 |
1984 |
|
Escrita em |
C, C++ e a própria Julia |
C, C++, Java e o próprio MATLAB |
|
Quem usa |
Principalmente cientistas de dados e outros profissionais de dados |
Engenheiros, cientistas, acadêmicos e profissionais de dados no mundo todo |
|
Ecossistema |
+8.000 pacotes registrados |
Principalmente bibliotecas nativas e personalizadas |
|
Facilidade de aprendizado |
Julia é simples, com sintaxe próxima do inglês. |
MATLAB é uma linguagem fácil de aprender. |
|
Extensão de arquivo |
Os arquivos são salvos com a extensão ‘datacamp.jl’. |
Os arquivos são salvos com a extensão ‘datacamp.m’. |
|
Vantagens |
|
|
|
Desvantagens |
|
|
|
Tendências |
25ª e 27ª posições nos índices PYPL e TIOBE, respectivamente (outubro de 2022) |
14ª posição em ambos os índices PYPL e TIOBE (outubro de 2022) |
migrando de MATLAB para Julia
Pronto para começar? Aqui vão alguns passos para ajudar na transição de MATLAB para Julia:
aprenda o básico de Julia
A melhor forma de aprender uma nova linguagem de programação é escrevendo código. Há muitos recursos para começar com Julia, mas recomendamos fortemente nosso curso Introduction to Julia.
Desenvolvido para quem está chegando agora em Julia e, de forma mais ampla, iniciantes em ciência de dados, o curso começa pelos fundamentos da linguagem e avança gradualmente para elementos mais detalhados. Ao final, você vai se sentir à vontade programando em Julia, entendendo o básico — incluindo tipos e estruturas de dados, funções e pacotes — e como usar DataFrames para trabalhar com dados tabulares.
Você também pode conferir nosso tutorial de Julia para iniciantes e nosso prático cheat sheet de Julia.
use Julia nos seus projetos de dados
Uma ótima forma de consolidar seu conhecimento e ganhar prática essencial com Julia é usar a linguagem nos seus projetos favoritos de dados. Levar Julia para seus próprios projetos vai te ajudar a descobrir todo o potencial da linguagem e a construir um portfólio de ciência de dados de peso.
use Julia nos seus projetos profissionais
Depois que você estiver familiarizado com Julia, é hora de aplicá-la no dia a dia. A combinação de alto desempenho e legibilidade pode ser um divisor de águas no ambiente profissional. De modelagem farmacêutica ao planejamento de missões espaciais, profissionais de vários setores já usam Julia hoje. É uma ferramenta poderosa para levar seus aplicativos e tarefas de ciência de dados para o próximo nível.
busque sua próxima vaga com Julia
Agora é um excelente momento para aprender Julia. Como Ari Joury afirma em seu post, Julia pode ser seu bilhete dourado para o futuro se você começar a aprender antes que se torne o novo padrão em ciência de dados. Cada vez mais empresas ao redor do mundo estão adotando Julia em seus projetos de dados, o que significa que farão de tudo para atrair os (ainda) poucos programadores experientes na linguagem. Quando você desenvolver bem suas habilidades, pode começar a buscar vagas que peçam conhecimento em Julia e MATLAB.
Descubra seu próximo passo de carreira usando Julia com a plataforma de vagas em dados da DataCamp.
conclusão
Julia é uma das estrelas em ascensão no universo de dados. Nos dez anos desde seu primeiro lançamento, a linguagem ganhou maturidade e hoje apresenta recursos excepcionais que poucas linguagens conseguem oferecer.
Embora MATLAB ainda esteja em boa forma, nenhuma linguagem está totalmente a salvo no cenário acelerado da ciência de dados. O que é popular hoje pode ficar irrelevante amanhã, superado por ferramentas mais modernas e poderosas.
Nos últimos anos, o principal ponto fraco de Julia era a juventude. Hoje, porém, ela é uma das novidades mais empolgantes na indústria de ciência de dados. Vale a pena aprender Julia? E é possível migrar de MATLAB para Julia? A resposta para as duas perguntas é um sonoro sim.
Perguntas frequentes: MATLAB para Julia
O que é MATLAB?
MATLAB é uma linguagem de programação de alto nível criada especificamente para computação numérica.
O que é Julia?
Julia é uma linguagem de programação de alto nível e compilada. Seus recursos são ideais para análise numérica e ciência computacional.
Quando Julia foi lançada?
A primeira versão de Julia foi lançada em 2012.
Qual é o principal ponto forte de Julia?
Julia é única porque combina alto desempenho com alta legibilidade de código.
Devo migrar de MATLAB para Julia?
Existem vários motivos para isso, como a velocidade de Julia, seu caráter open source e um ecossistema que se desenvolve rapidamente. Uma ótima maneira de começar é com nosso curso Introduction to Julia.
