La inteligencia artificial (IA) abre un mundo de posibilidades para los desarrolladores de aplicaciones. Al aprovechar las posibilidades de machine learning o deep learning, podría producir mejores perfiles de usuario, personalización y recomendaciones o incorporar una búsqueda más inteligente, una interfaz de voz o asistencia inteligente, o mejorar su aplicación de muchas otras maneras. Incluso podría crear aplicaciones que vean, escuchen y reaccionen ante situaciones que nunca había previsto.
¿Qué lenguaje de programación debería aprender para sondear las profundidades de la IA? Por supuesto, querrá un lenguaje con muchas y buenas bibliotecas de machine learning y deep learning. También debe tener un buen rendimiento en tiempo de ejecución, un buen soporte de herramientas, una gran comunidad de programadores y un ecosistema saludable de paquetes de soporte. Esa es una larga lista de requisitos, pero todavía hay muchas buenas opciones.
Los seis mejores lenguajes para IA
A continuación le mostramos los seis mejores lenguajes de programación para el desarrollo de la Inteligencia Artificial, según Ian Pointer, colaborador de CIO, a los que se añaden dos menciones honoríficas. Algunos de estos lenguajes están en auge, mientras que otros están en declive. Solo necesita saber si está interesado en arquitecturas y aplicaciones históricas de deep learning. Veamos cómo discernir el más adecuado.
1. Python
El número uno sigue siendo Python. ¿Lo había dudado? Si bien hay cosas de Phyton que le pueden volver loco, si está llevando a cabo un trabajo de IA, es casi seguro que lo usará en algún momento. Y algunos de sus puntos más ásperos se han limado un poco.
A medida que nos acercamos a 2020, el problema de Python 2.x frente a Python 3.x se está volviendo discutible ya que casi todas las grandes bibliotecas admiten Python 3.x y dejarán de admitir Python 2.x tan pronto como sea posible. En otras palabras, por fin podrá aprovechar todas las nuevas características del lenguaje en serio.
2. C++
Es poco probable que C ++ sea su primera opción al desarrollar una aplicación de inteligencia artificial, pero cuando necesita exprimir hasta la última gota de rendimiento del sistema, algo cada vez más común a medida que deep learning llega al límite y necesita ejecutar sus modelos en sistemas con recursos limitados: es hora de regresar al aterrador mundo de los punteros una vez más.
3. Java y otros lenguajes JVM
La familia de lenguajes JVM (Java, Scala, Kotlin, Clojure, etc.) sigue siendo una gran opción para el desarrollo de aplicaciones de IA. Tiene una gran cantidad de bibliotecas disponibles para cualquier necesidad, ya sea procesamiento de lenguaje natural (CoreNLP), operaciones de tensor (ND4J) o una pila completa de deep learning acelerado por GPU (DL4J). Además, obtiene acceso fácil a plataformas de big data como Apache Spark y Apache Hadoop.
4. JavaScript
Es poco probable que aprenda JavaScript únicamente para escribir aplicaciones de inteligencia artificial, pero TensorFlow.js de Google continúa mejorando y ofrece una forma intrigante de implementar sus modelos Keras y TensorFlow en su navegador o mediante Node.js utilizando WebGL para cálculos acelerados por GPU.
5. Swift
En la versión del año pasado de este artículo, mencioné que Swift era un lenguaje para vigilar. Este año, se encuentra entre mis seis primeros. ¿Que ha pasado? Swift para TensorFlow. Una estupenda recopilación sin fallas de las últimas y mejores características de TensorFlow, y un poco de magia oscura que permite importar bibliotecas de Python como si estuviera usando Python en primer lugar.
6. Lenguaje R
R aparece al final de nuestra lista, y tiende a la baja. R es el lenguaje que aman los científicos de datos. Sin embargo, el resto de programadores a menudo encuentran a R un poco confuso, debido a su enfoque centrado en el dataframe. Si tiene un grupo dedicado de desarrolladores de R, podría tener sentido usar sus integraciones con TensorFlow, Keras o H2O para investigar, crear prototipos y experimentar, pero dudo en recomendar R para uso en producción o para desarrollos de nuevos campos, por el rendimiento y problemas operacionales. Aunque seguro que puede escribir código R capaz de implementarse en servidores en producción, lo más probable es que sea más fácil volver a codificarlo en Java o Python.
Otras opciones
Por supuesto estas opciones mencionadas no son los únicos lenguajes de progrmación que le pueden ayudar a sus proyectos de IA. Otros dos buenos «bonus» que se pueden considerar útiles o interesantes son Lua y Julia.
Lua hace unos años estaba en lo más alto dentro del mundo de la IA, debido al framework Torch y si profundizamos en la historia de los deep learing, a menudo encontrabamos referencias de este lenguaje, por lo que podría ser útil tener un conocimiento práctico sobre Lua.
Por su parte, Julia es un lenguaje de alto rendimiento centrado en cálculo numérico, lo que lo convierte en una buena opción en el mundo de la IA por lo que convendría en echarle un vistazo.
Por: Ian Pointer, arquitecto senior de big data y machine learning. Tiene más de 15 años de experiencia en desarrollo y operaciones. IDG