Prós e contras da linguagem de programação R

01/07/2015

A linguagem de programação R é uma ferramenta importante para o desenvolvimento em ambientes de análises numéricas e aprendizado de máquina. Com conceitos como big data e Internet das Coisas ganhando mais importância como geradoras de dados, a popularidade da plataforma só deve crescer. Apesar disso, a R tem prós e contras que os desenvolvedores devem estar cientes.

Com o interesse crescente pela tecnologia (como demonstrado em índices de popularidade de linguagem como Tlobe, PyPL e Redmonk), a R despontou na década de 90. “A R é a linguagem mais popular no campo da estatística”, atesta Roger Peng, veterano que a ensina conceitos relativos a ela na universidade e na plataforma online Coursera.

“Gosto da R porque é bem fácil de programar a partir de um nível mais ligado à ciência da computação”, explica, segundo o qual a R ficou mais rápida com o tempo, servindo hoje como uma linguagem para anexar diferentes conjuntos de dados, ferramentas e pacotes de software.

“É a melhor forma de criar análises reprodutíveis e de alta qualidade. Possui toda a flexibilidade e potência que procuro quando lido com dados”, exaltou Matt Adams, cientista de dados da Code School, que oferece cursos online de programação. “A maioria dos programas que escrevo em R são coleções de scripts organizados em projetos”.

Benefícios e ecossistema

“A vastidão do ecossistema de pacotes é definitivamente uma das maiores qualidades da R – se uma técnica estatística existe, provavelmente haverá um pacote para ela”, pontua Adams.

“A R é extensível e oferece funcionalidades ricas para desenvolvedores projetarem suas próprias ferramentas e métodos para a análise de dados. Com o tempo, muitas pessoas de outros campos também têm sido atraídas por ela, incluindo biocientistas”, adiciona Peng.

Segundo ele, as pessoas podem estender a linguagem sem pedir permissão e os termos de uso da R foram especialmente úteis há anos. “Na época de seu lançamento, a maior vantagem era ser gratuita. O código-fonte e tudo o que lhe dizia respeito estava disponível para ser analisado”.

Todos os recursos de apresentação gráfica são incomparáveis, defende Adams. “Os pacotes dplyr e ggplot2, para manipulação e disposição de dados respectivamente, melhoraram minha qualidade de vida”, garante. Para aprendizado de máquina, as vantagens da R estão relacionadas à sua ligação com a academia, explica.

“Qualquer nova pesquisa no campo provavelmente tem um pacote de acompanhamento em R desde o início. Nesse aspecto, a linguagem se mantém na vanguarda. O pacote como um todo também oferece uma maneira elegante de fazer aprendizado de máquina através de uma API relativamente unificada”. De acordo com Peng, muitos dos algoritmos populares de aprendizado de máquina são implementados em R.

Deficiências em segurança e gerenciamento de memória

Assim como os benefícios, a R também apresenta fraquezas. “Gerenciamento de memória, velocidade e eficiência são os principais desafios enfrentados pela linguagem. Medidas foram – e ainda são – tomadas para progredir nesses aspectos. As pessoas que migram para a R de outras linguagens também pode achá-la peculiar”, contrapõe Adams.

O princípio básico da R emana de linguagens de programação criadas nos anos 60, cita Peng. “Nesse sentido, é uma espécie de velha tecnologia no modo com que foi projetada originalmente. O design da linguagem pode apresentar problemas ocasionais no trabalho de grandes conjuntos de dados”, esclarece, assinalando que dados precisam ser armazenados em memória física, problema que diminui conforme os computadores ganham mais memória.

Recursos de segurança não foram necessariamente projetados para a R, que também não pode ser embutida em um navegador web. “Você não pode usá-la para apps na web ou baseados na internet”, conta Peng.

De acordo com ele, era basicamente impossível utilizá-la como um servidor back-end para cálculos devido a sua falta de segurança. Esse problema foi suavizado por desenvolvimentos como o uso de containers virtuais em plataformas em nuvens como a da Amazon Web Services.

Por um bom tempo, não houve muita interatividade na linguagem, indica Peng. “Linguagens como o JavaScript ainda precisam chegar e preencher esse vazio”, conta, acrescentando que embora uma análise possa ser feita em R, é possível que a apresentação do resultado seja feita em linguagens diferentes, como JavaScript.

Acessível a não programadores

Tanto Adams quanto Peng encaram a R como uma solução acessível. “Eu não venho de um ambiente da ciência da computação e nunca nutri a aspiração de me tornar um programador. O conhecimento de fundamentos de programação certamente ajuda na hora de adicionar a R à sua caixa de ferramentas, mas eu não diria que é essencial”, defende Adams. “Não diria que a R é para programadores. Ela é voltada para pessoas com problemas com dados a serem resolvidos independentemente das aptidões em programação".

Site: Computerworld
Data: 01/07/2015
Hora: 8h
Seção: Tecnologia
Autor: ------
Link: http://computerworld.com.br/pros-e-contras-da-linguagem-de-programacao-r