A inteligência artificial (AI) abre um mundo de possibilidades para desenvolvedores de aplicativos. Aproveitando o machine learning 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 um assistente 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 machine learning, existe o Scikit-learn. E quando se trata de deep learning, 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 machine learning e deep learning. 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 machine learning acelerado 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 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, 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 machine learning 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 machine learning 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.