Recursos/White Papers

Tecnologia

5 linguagens de programação mais apropriadas para Inteligência Artificial

Lista reúne algumas das melhores opções para quem quer desenvolver a tecnologia

Ian Pointer, Computerworld/EUA

Publicada em 04 de julho de 2018 às 20h16

A Inteligência Artificial (AI) abre um mundo de possibilidades para desenvolvedores de aplicativos. Aproveitando o Machine ou o Deep Learning, 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 IA:

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 IA 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 IA, 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 IA.

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 IA. 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 C / C ++ seja a primeira escolha ao desenvolver um aplicativo de IA, 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, o C / C ++ é a melhor resposta.

Felizmente, o C / C ++ pode ser agradável 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 o C / C ++ oferece.

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.

IA



Reportagens mais lidas

Acesse a comunidade da CIO

LinkedIn
A partir da comunidade no LinkedIn, a CIO promove a troca de informações entre os líderes de TI. Acesse aqui