A inteligência artificial (IA) abre um mundo de possibilidades para desenvolvedores de aplicativos. Ao tirar proveito do machine learning (ML) ou do deep learning (DL), você pode criar perfis, personalização e recomendações muito melhores. Também é possível incorporar pesquisas mais inteligentes, interfaces de voz, assistentes virtuais ou aperfeiçoar o seu aplicativo de diversas outras maneiras.
As possibilidades são tantas, que você pode até mesmo criar aplicativos que veem, ouvem e reagem a situações nunca previstas. Mas qual linguagem de programação você deve aprender para explorar as possibilidades da IA? Você desejará uma linguagem com boas bibliotecas de machine learning e deep learning, é claro. Ela também precisa apresentar bom desempenho em tempo de execução, bom suporte a ferramentas, uma grande comunidade de programadores e um ecossistema saudável de pacotes de suporte.
Essa é uma longa lista de requisitos, mas existem ótimas opções. Confira as minhas escolhas das seis melhores linguagens de programação para desenvolvimento de IA. Algumas delas estão em ascensão, enquanto outras estão perdendo popularidade. Há ainda algumas que você só precisará conhecer se estiver interessado em arquiteturas e aplicativos de deep learning. Vamos ver como elas se comparam.
No número um está o Python – e não poderia ser diferente. Embora existam coisas enlouquecedoras sobre a linguagem, se você estiver fazendo um trabalho de IA, certamente a utilizará em algum momento. Conforme entramos em 2020, a questão do Python 2.x versus Python 3.x está se tornando discutível, já que quase todas as principais bibliotecas suportam o Python 3.x e abandonam o suporte ao Python 2.x.
Em outras palavras, você pode finalmente tirar proveito de todos os novos recursos da linguagem. Apesar dos empacotamentos do Python ainda serem um pesadelo para muitas pessoas, você pode usar o Anaconda cerca de 95% das vezes e não vai precisar se preocupar muito com o assunto. Ainda assim, seria bom se o mundo Python resolvesse esse problema de uma vez por todas.
As bibliotecas de matemática e estatísticas disponíveis no Python 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 ao Python. Para o processamento de linguagem natural, você tem o venerável NLTK e o incrivelmente rápido SPACY. Para machine learning, há o Scikit-learn. E quando se trata de deep learning, todas as bibliotecas atuais (TensorFlow , PyTorch , chainer , Apache MXNet , Theano , etc.) são projetos pioneiros do Python.
Não há como fugir. O Python é a linguagem na vanguarda das pesquisas de IA, aquela na qual você encontrará a maioria das estruturas de machine learning e deep learning. Por esses motivos, o Python é o primeiro entre as melhores linguagens de programação de IA.
É improvável que o C++ seja a sua primeira escolha para o desenvolvimento de um aplicativo de IA, mas quando você precisa obter todo o desempenho do sistema é hora de voltar às raízes. Felizmente, o C ++ moderno pode ser agradável de escrever (honestamente!). Você tem a opção de usar bibliotecas como CUDA para escrever o 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 ++ oferece. Em suma, o C ++ se torna uma parte importante do kit de ferramentas com a popularização dos aplicativos de IA. É bom e rápido, o que é fundamental para o desenvolvimento de inteligência artificial.
A família de linguagens JVM (Java, Scala, Kotlin, Clojure etc.) continua sendo uma ótima opção para o desenvolvimento de aplicativos de IA. Você tem várias bibliotecas disponíveis para todas as partes do pipeline, seja processamento de linguagem natural (CoreNLP), operações de tensor (ND4J) ou uma pilha completa de deep learning acelerado por GPU (DL4J). Além disso, você obtém acesso fácil a plataformas de big data como Apache Spark e Apache Hadoop.
O Java é a língua franca da maioria das empresas e, com as novas construções de linguagem disponíveis no Java 8 e versões posteriores, escrever código Java não é mais a experiência odiosa que muitos de nós lembramos. Escrever um aplicativo de IA em Java pode parecer um tédio, mas toda a sua infraestrutura pode ser utilizada para desenvolvimento, implantação e monitoramento.
É improvável que você aprenda JavaScript apenas para escrever aplicativos de IA, mas o TensorFlow.js do Google continua a melhorar e oferece 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.
No entanto, uma coisa que realmente não vimos desde o lançamento do TensorFlow.js é uma participação grande de desenvolvedores de JavaScript no espaço da IA. Eu acho que isso deve acontecer pelo fato de o ecossistema JavaScript não ter a mesma profundidade das bibliotecas de linguagens como Python. Além disso, no lado do servidor, não há realmente uma grande vantagem em implantar modelos com o Node.js.
No ano passado, falei que o Swift era uma linguagem para se ficar de olho, e agora ela entra no meu top 6. O que aconteceu? Swift para TensorFlow. Com recursos melhores e mais recentes do TensorFlow e dark magic, você pode importar bibliotecas Python como se estivesse usando o Python. A equipe da Fastai está trabalhando em uma versão do Swift, e prometemos muitas melhorias na geração e execução de modelos. Já está tudo pronto?
Na verdade, não, mas o Swift pode, de fato, mostra qual é o caminho para a próxima geração de desenvolvimento de deep learning. R O R aparece no final da nossa lista e está tendendo a cair de conceito. O R é a linguagem que os cientistas de dados adoram. No entanto, outros programadores costumam achar a linguagem um pouco confusa. Se você tiver um grupo dedicado de desenvolvedores de R, pode fazer sentido usar as integrações com o TensorFlow, Keras ou H2O para pesquisa, prototipagem e experimentação, mas hesito em recomendar o R para uso em produção por conta de preocupações operacionais e de desempenho.
Embora você possa escrever código R de alto desempenho para ser implantado em servidores de produção, certamente será mais fácil pegar o protótipo R e recodificá-lo em Java ou Python. Outras opções de programação de IA Obviamente, Python, C ++, Java, JavaScript, Swift e R não são as únicas linguagens disponíveis para programação de IA. Aqui estão mais duas que você pode achar interessante ou úteis, embora eu não as considere prioridade.
Há alguns anos, o Lua estava em alta no mundo da inteligência artificial por conta da estrutura do Torch, uma das bibliotecas de machine learning mais populares para as necessidades de pesquisa e produção. Se você se aprofundar na história dos modelos de deep learning, frequentemente encontrará referências ao Torch e muito código-fonte Lua nos antigos repositórios do GitHub. Para isso, pode ser útil ter um conhecimento prático da API do Torch, que não está muito longe da API básica do PyTorch.
No entanto, se – como a maioria de nós – você realmente não precisa fazer muitas pesquisas para os seus aplicativos, provavelmente sobreviverá sem ter que entender as peculiaridades do Lua. Julia O Julia é uma linguagem de programação de alto desempenho, focada na computação numérica, o que a torna um bom ajuste para o mundo da IA. Embora não seja tão popular como uma escolha no momento, wrappers como o TensorFlow.jl e o Mocha fornecem um bom suporte ao deep learning. Se você não se importa com um ecossistema relativamente pequeno e deseja se beneficiar do foco do Julia em tornar os cálculos de alto desempenho fáceis e rápidos, vale a pena dar uma olhada nessa opção.
A Pure Storage está redefinindo sua estratégia de mercado com uma abordagem que abandona o…
A inteligência artificial (IA) consolidou-se como a principal catalisadora de novos unicórnios no cenário global…
À primeira vista, não parece grande coisa. Mas foi na pequena cidade de Pornainen, na…
O processo de transição previsto na reforma tributária terá ao menos um impacto negativo sobre…
O que antes parecia uma aliança estratégica sólida começa a mostrar rachaduras. Segundo reportagem do…
O Departamento de Defesa dos Estados Unidos firmou um contrato de US$ 200 milhões com…