R vs Python?

Olá pessoal,

Com a explosão do assunto Ciência de Dados (Data Science, em inglês), a quantidade de entusiastas e fãs de R e de Python aumentou consideravelmente. Como efeito, as linguagens R e Python começaram a ser comparadas e contrastadas rapidamente, em diversas esferas.

Essa comparação levou estudantes de ciência de dados, de forma equivocada, a escolher se deveriam dominar R ou Python. Este pensamento é errado pois uma vez que deseje se tornar um profissional de ciência de dados, é necessário compreender seus conceitos ao máximo, independente de ferramentas de programação. Em outras palavras, deve-se aprender os fundamentos de ambos, R e Python, para entender como podemos aproveitar esses conhecimentos.

Existem milhares de artigos na internet comparando R e Python, mas realmente são os cientistas de dados que podem dizer algo mais objetivo a respeito dessa “rivalidade”. Nessa batalha de ferramentas científicas de dados, ambos R e Python têm seus prós e contras. A escolha para usar uma ou outra linguagem dependerá dos casos de uso, do custo de aprendizagem e de outras ferramentas necessárias.

R e Python são linguagens de programação comuns para estatística. Embora R tenha sido construído por estatísticos a partir de uma linguagem estatística e tenha um ecossistema gigantesco, Python é muito elogiado por seus usuários.

Como já vimos a história de R no post “Linguagem R“, vamos falar um pouco de Python.

Python também foi criado na década de 90, por Guido van Rossum e enfatiza a produtividade e legibilidade do código. É uma linguagem de uso geral que pode fazer praticamente qualquer coisa: coleta, engenharia e análise de dados, construção de aplicativos web, gráficos e muito mais. É utilizada para fins estatísticos por programadores que querem aprofundar a análise dos dados ou aplicar técnicas estatísticas. Também tem grande adesão de desenvolvedores de software, cientistas, pesquisadores, artistas e educadores.

É uma linguagem flexível, considerada ideal para fazer algo novo e, dado o foco na simplicidade, a sua curva de aprendizagem é relativamente baixa. A sintaxe simples de Python é derivada de ABC, uma linguagem didática que foi desenvolvida nos anos 80. Entretanto, Python também foi criada para solucionar problemas reais e emprestou uma grande quantidade de características de linguagens de programação como C++, Java, Modula-3 e Scheme. Para aqueles que aprenderam uma linguagem orientada a objetos, fica ainda mais fácil.

Aqui podemos ter uma ideia da sintaxe de Python comparando seus códigos entre o C++, o Java em um Hello world:

python1

Nota: Por convenção, arquivos que contenham programas em Python têm nomes que terminam com .py

Semelhante a linguagem R, Python também tem pacotes. PyPI é o Python Package Index e consiste de bibliotecas para que os usuários possam contribuir (lembrando que no R temos o CRAN). Assim como R, Python tem uma grande comunidade, mas é um pouco mais dispersa, uma vez que é uma linguagem de propósito geral. Suas expectativas, para ciência de dados, são de aplicações cada vez maiores e mais inovadoras.

Usando as duas linguagens

Python e R podem ser utilizados juntos! Para executar códigos R dentro do Python, utilizamos a biblioteca rpy2 e para executar pacotes do Python dentro do código R, utilizamos o pacote RPython.

No mundo da ciência de dados, os usuários de R e de Python se cruzam muito. Assim, qualquer que seja o projeto de interesse pode ocorrer o uso de ambas as linguagens. Ao dominar os dois, o profissional da área tem a vantagem e a versatilidade para apresentar o resultado final.

Python no Azure

Seguindo sua decisão estratégica, a Microsoft mais uma vez reforça seu apoio ao open source incluindo Python na sua plataforma de nuvem, o Azure. A empresa entende que alternativas de software open source podem representar uma concorrência saudável e uma oportunidade de complementar ou melhorar suas tecnologias e seus produtos. Veja aqui uma lista de projetos da comunidade nos quais a Microsoft participa de forma ativa.

A equipe Python da Microsoft faz parte do Grupo de Dados no Azure, o mesma equipe responsável pelo SQL Server , Azure ML Studio e Cortana Analytics Suite. Python, assim como R, tem lugar de destaque no planejamento estratégico da empresa.

Essa equipe atua em conjunto com outros times dentro da Microsoft para propagar o uso de Phyton. Por exemplo junto com desenvolvedores no SDK do Azure para Python e no Azure App Service; junto com a equipe de Visual Studio para fornecer suporte Python através de Ferramentas Python para o Visual Studio, que pode entrar em qualquer uma das versões free (ou pagos) do Visual Studio 2015; e outras.

Nós vamos abordar esse assunto em detalhes nos próximos posts.

Afinal, qual a melhor linguagem?

Como dito acima, cabe aos cientistas de dados escolher a linguagem que melhor se adapta às suas necessidades. Não existe um vencedor. As seguintes perguntas podem ajudá-lo:

1- Quais os problemas que precisam ser resolvidos?
2- Quais são os custos líquidos para a aprendizagem de uma das linguagens?
3- Quais são as ferramentas comumente usadas em seu campo?
4- Quais são as ferramentas disponíveis para utilização em seu campo e como poderão ser usadas de forma comum?

A escolha agora é sua! Esperamos ter ajudado.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s