Notícias

Python, Java e R: as melhores linguagens de programação para desenvolver AI

A inteligência artificial (AI) abre um mundo de possibilidades para desenvolvedores de aplicativos. Aproveitando o aprendizado de máquina ou o aprendizado profundo, o programador pode produzir perfis de usuário, personalização e recomendações muito melhores, além de incorporar uma pesquisa mais inteligente, uma interface de voz ou assistência inteligente.

Para isso, é preciso ter uma boa linguagem de programação, com bom desempenho em tempo de execução, bom suporte a ferramentas, grande comunidade de programadores e ecossistema saudável de pacotes de suporte.

Confira algumas dessas melhores linguagens de programação para desenvolvimento de AI:

1. Python

Embora existam alguns desafios sobre o Python, como a divisão massiva entre o Python 2.x e o Python 3.x, ou os cinco sistemas de empacotamento de maneiras diferentes, quem está fazendo um trabalho de AI quase certamente usará o Python em algum momento.

As bibliotecas disponíveis são praticamente únicas. O NumPy se tornou tão onipresente que é quase uma API padrão para operações de tensor e o Pandas traz os poderosos quadros de dados do R para o Python. Para o processamento de linguagem natural, há o NLTK e o SpaCy. Para aprendizado de máquina, existe o Scikit-learn. E quando se trata de aprendizagem profunda, todas as bibliotecas atuais (TensorFlow, PyTorch, Chainer, Apache MXNet, Theano, entre outros) são projetos feitos pioneiramente no Python.

Ou seja, o Python é a linguagem na vanguarda de pesquisa da AI, onde será possível encontrar a maioria das estruturas de aprendizado de máquina e aprendizagem profunda. Por esses motivos, o Phyton é o primeiro entre as linguagens de programação de AI.

2. Java

A família de linguagens JVM (Java, Scala, Kotlin, Clojure, etc.) também é uma ótima opção para o desenvolvimento de aplicativos de AI. Existem diversas bibliotecas disponíveis para todas as partes do pipeline, seja o processamento de linguagem natural (CoreNLP), operações de tensor (ND4J) ou um conjunto de aprendizado profundo acelerada por GPU (DL4J). Além disso, o usuário obtém acesso fácil a plataformas de Big Data, como o Apache Spark e o Apache Hadoop.

Java é a língua franca da maioria das empresas e, com as novas construções de linguagem disponíveis no Java 8 e no Java 9, escrever código Java não é tão ruim quanto antigamente. Escrever um aplicativo de AI em Java pode parecer um pouco chato, mas toda a infraestrutura Java pode ser usada para desenvolvimento, implantação e monitoramento.

3. C/C++

É improvável que a C ou C ++ sejam a primeira escolha ao desenvolver um aplicativo de AI, mas se a pessoa estiver trabalhando em um ambiente integrado e não puder arcar com a sobrecarga de um Java Virtual Machine ou um interpretador Python, as C/C++ podem ser a melhor resposta.

E, felizmente, elas são agradáveis de escrever. O programador tem a opção de usar bibliotecas como CUDA para escrever seu próprio código ou usar o TensorFlow ou Caffe para obter acesso a APIs de alto nível. Com a segunda opção, também podem ser importados modelos construídos com o Phyton e executados com a velocidade que as linguagens C oferecem.

4. JavaScript

O Google lançou recentemente o TensorFlow.js, uma biblioteca acelerada por WebGL que permite treinar e executar modelos de aprendizado de máquina em seu navegador da web. A plataforma também inclui a API Keras e a capacidade de carregar e usar modelos que foram treinados em TensorFlow.

Ou seja, ainda que o JavaScript não tenha atualmente o mesmo acesso a bibliotecas de aprendizado de máquina que as outras linguagens listadas, em breve os desenvolvedores adicionarão redes neurais nas páginas da Web com a mesma facilidade que adicionam um componente React ou uma propriedade CSS.

TensorFlow.js ainda está em seus primeiros dias. No momento, ele funciona no navegador, mas não no Node.js e ainda não implementa a API completa do TensorFlow. No entanto, ambos os problemas devem ser resolvidos em grande parte até o final de 2018.

5. R

R é a linguagem que os cientistas de dados adoram. No entanto, outros programadores o acham um pouco confuso quando o encontram pela primeira vez, devido à sua abordagem centrada no dataframe. No caso de ter um grupo dedicado de desenvolvedores de R, pode fazer sentido usar as integrações com TensorFlow, Keras ou H2O para pesquisa, prototipagem e experimentação, mas a linguagem não é tão recomendada para produção, devido a preocupações operacionais e de desempenho. Embora o programador possa escrever um código R de alto desempenho e implementá-lo em servidores de produção, é mais fácil pegar esse protótipo R e recodificá-lo em Java ou Python.

 

Recent Posts

SpaceX, Anthropic e OpenAI enfrentam riscos em possíveis IPOs

SpaceX, Anthropic e OpenAI estão no radar de Wall Street para possíveis aberturas de capital…

12 horas ago

Sistemas legados: como tomar decisões para garantir resiliência em setores críticos

por Eduardo Honorato Falar sobre infraestruturas críticas na Era Digital tem sua própria complexidade dentro…

15 horas ago

Sem equipes preparadas, IA não entrega transformação

A adoção de inteligência artificial (IA) nas empresas não depende apenas da disponibilidade de ferramentas.…

17 horas ago

Cohesity obtém patente para aplicar IA diretamente em dados de backup corporativos

A Cohesity anunciou a concessão da Patente Nº 12.619.501 pelo Escritório de Patentes e Marcas…

2 dias ago

Para Diogo Cortiz, maior desafio da IA é a falta de capacidade crítica para questionar suas respostas

Diogo Cortiz, professor da PUC-SP e doutor em Tecnologias da Inteligência e Design Digital, tem…

2 dias ago

Agentes de IA vão dar “superpoderes” a profissionais de TI, diz DJ Sampath, da Cisco

DJ Sampath chegou aos Estados Unidos há 30 anos com oito dólares no bolso e…

2 dias ago