Universo IA

Aprendendo e compartilhando

Aprendendo IA

Qual a melhor linguagem de programação para IA e Machine Learning?

Foto por Tim Gouw em <a href="https://www.pexels.com/photo/man-in-white-shirt-using-macbook-pro-52608/" rel="nofollow">Pexels.com</a>

Está é uma pergunta polêmica. Uma discussão sobre esse assunto pode destruir amizades entres os apaixonados por Inteligência Artificial e Aprendizagem de Máquina. Mas afinal de contas, qual a melhor linguagem de programação para trabalhar com IA e Machine Learning?

man in white shirt using macbook pro
Foto por Tim Gouw em Pexels.com

Se você fizer uma busca rápida no Google ou em algum site de perguntas e respostas, encontrará muitas perguntas do tipo, vários posts em blogs, matérias em sites de tecnologia, etc. Vários especialistas ou iniciantes falando sobre o assunto, alguns falando com base em sua experiência pessoal, outros falando baseados em suas experiências de trabalho na indústria e há ainda aqueles que analisam as linguagem requisitadas em ofertas de emprego na área. Tudo isso vai gerar uma enorme variedade de respostas, não que isto seja ruim, mas pode confundir (e muito) a mente de quem está começando.

Muitas das respostas acabam sendo conflitantes devido ao gosto pessoal dos profissionais ou de uma experiência restrita. Por exemplo, faça um busca rápida no Quora sobre Javascript vs Python em machine learning e você encontrará uma confusão de respostas.

As cinco linguagens de programação que mais aparecem no TOP 5 dos sites e blogs pela Web deste assunto são: Python, R, Java, Javascript e C/C++. Claro que ainda existem outras, como LISP, Julia, Scala, Ruby, Octave e MATLAB , mas vamos focar neste TOP 5.

Uma decisão sensata é não acreditar em quem bate o pé e afirma que a linguagem X é melhor. Na verdade, como em qualquer desenvolvimento de software, existe a melhor linguagem que atende a sua necessidade específica em um contexto específico. Então você deve se perguntar:

  1. Qual o meu nível em programação?
  2. Qual o meu nível de conhecimento em IA ou ML?
  3. Qual a área em que vou aplicar IA/ML?

Vamos as respostas?

Estou aprendendo programação e IA/ML agora!  Pretendo programar para praticar o que estou aprendendo

Sugiro que você escolha Python. É a linguagem para machine learning mais popular atualmente, tem muita gente usando e você pode encontrar uma infinidade de materiais de apoio na Internet. Toda essa popularidade deve-se principalmente pela evolução das ferramentas e frameworks em Python para machine learning e deep learning, destaca-se aqui o TensorFlow (biblioteca criada pela Google).

Área de aplicação: Análise de Sentimentos e Processamento de Linguagem Natural

Por análise de sentimentos me refiro aqui ao processo computacional para determinar se um determinado texto expressa uma opinião positiva, negativa ou neutra. Um uso comum desta técnica é realizado por empresas que querem verificar a opinião de seus clientes sobre seus produtos expressa em redes sociais. Python costuma ser a linguagem mais usada neste tipo de aplicação. Mas você também pode optar por R ou Javascript, ambas possuem boas bibliotecas para esse fim.

Área de aplicação: Redes de Computadores

O uso de Machine Learning na área de segurança de redes tem crescido rapidamente nos últimos anos, em especial na detecção de ataques e fraudes. Também vem sendo utilizada na análise de trafego do rede. Para esse tipo de aplicação, Java tem sido usada com maior frequência de acordo com um survey aplicado com desenvolverores.

Área de aplicação: Jogos e Robótica

Se você vai trabalhar com jogos usando IA/ML e está preocupado com o nível de controle da aplicação, quer um alto desempenho e eficiência, ou quer iniciar nesta área para tentar um emprego no futuro, então comece a praticar IA/ML com C/C++. Eu sei, não são linguagens mais populares dos últimos anos, também sei que muitos programadores depois que conhecem linguagem de mais alto nível nunca mais querem olhar para C/C++, mas a verdade é que elas possuem bibliotecas altamente sofisticadas e, verdade seja dita, a grande maioria das bibliotecas que existem de ML atualmente, inclusive as criadas para Python, lá por debaixo dos panos são escritas no bom e velho C/C++.  Mas, se preferir, você também pode optar pelo uso Python neste tipo de aplicação.

Área de aplicação: Bioinformática

R tem sido largamente utilizado em analises estatísticas biomédicas já há muitos anos, então não é surpresa sugerir utilizá-lo para aplicações de IA/ML em bioinformática.

Mas finalmente, qual a melhor linguagem?

Acredito que você já sabe qual será minha resposta! Não existe isso de “melhor”. Tudo depende de você! A dica mais preciosa é aproveitar o seu conhecimento prévio para aprender mais rapidamente.

Você não é da área de informática, mas aprendeu R na faculdade para trabalhar com estatística? Então aproveite esse seu conhecimento prévio e foco em aprender ML usando R! Será muito mais proveitoso do que você tentar primeiro absorver o conhecimento de qualquer outra linguagem de programação.

Você ganha a vida como desenvolvedor web front-end (ou prefere trabalhar com front-end) e agora quer se aventurar com IA/ML? Então use seu conhecimento em Javascript! Você vai encontrar muito material na Internet, não escute aqueles donos da verdade que vão te mandar largar tudo e começar por Python. Começar por uma linguagem que você domina lhe dará mais confiança.

Você é engenheiro de hardware? Estuda ou trabalha com eletrônica? Não é da área de computação, mas sua curiosidade lhe levou a dominar Arduino e agora você quer dominar IA/ML? Então use C/C++, comece a aprender ML para aplicar em projetos mais próximo do hardware, existem vários projeto do IoT e robótica para aplicar ML. Inclusive em robôs autonomos para competições!

Você é um programador Java no mercado? Você é um estudante que acabou de finalizar seus estudos de orientação a objetos usando Java? Vá em frente e comece a estudar IA/ML criando algoritmos e aplicações em Java!

Você domina a arte da programação e aprende novas linguagens facilmente? Já sabe programar em Python? Então use Python e já comece usando os frameworks que estão em alta no mercado!

E além de programação, o que mais um iniciante em IA precisa saber? Tem um post aqui no site sobre se você precisa saber matemática para aprender IA.

Até mais, e obrigado pelos peixes!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: