By Christina Voskoglou
¿Qué lenguaje debo aprender? ¿Cuál es el mejor lenguaje para machine learning?
Hay una gran cantidad de artículos que intentan responder a estas preguntas, ya sea basándose en la experiencia personal o en los datos de las ofertas de empleo. Sin embargo, se ha realizado una encuesta entre de más de 2.000 científicos de datos y desarrolladores de machine learning que han respondido a la siguiente encuesta sobre los lenguajes que utilizan y los proyectos en los que trabajan,
Los principales resultados de esta encuesta son: Python lidera el grupo, con un 57% de científicos de datos y desarrolladores de machine learning que lo utilizan y un 33% que lo priorizan para el desarrollo. No es de extrañar, dada toda la evolución de los marcos de aprendizaje profundo de Python en los últimos 2 años, incluido el lanzamiento de TensorFlow y una amplia selección de otras bibliotecas. Python se compara a menudo con R, pero no son ni de lejos comparables en términos de popularidad: R ocupa el cuarto lugar en el uso general (31%) y el quinto en la priorización (5%). De hecho, R es el lenguaje con la relación más baja entre priorización y uso de los cinco, ya que sólo el 17% de los desarrolladores que lo utilizan lo priorizan. Esto significa que, en la mayoría de los casos, R es un lenguaje complementario, no una primera opción. El mismo ratio para Python es del 58%, el más alto con diferencia entre los cinco lenguajes, una clara indicación de que las tendencias de uso de Python son exactamente las opuestas a las de R. No sólo es Python el lenguaje más utilizado, sino que también es la opción principal para la mayoría de sus usuarios. C/C++ ocupa un lejano segundo lugar tras Python, tanto en uso (44%) como en prioridad (19%). Java sigue muy de cerca a C/C++, mientras que JavaScript ocupa el quinto lugar en uso, aunque con un rendimiento de priorización ligeramente mejor que R (7%).

Los datos de esta encuesta también revelan que el factor más decisivo a la hora de seleccionar un lenguaje para realizar machine learning es el tipo de proyecto en el que se va a trabajar. Los científicos de aprendizaje automático que trabajan en el análisis de sentimientos priorizan más Python (44%) y R (11%) y menos JavaScript (2%) y Java (15%) que los desarrolladores que trabajan en otras áreas. En cambio, Java es más prioritario para los que trabajan en seguridad de redes/ataques cibernéticos y detección de fraudes, las dos áreas en las que Python es la menos prioritaria. Los algoritmos de seguridad de redes y de detección del fraude se construyen o consumen sobre todo en las grandes organizaciones -y especialmente en las instituciones financieras-, donde Java es el favorito de la mayoría de los equipos de desarrollo internos. En áreas menos centradas en la empresa, como el procesamiento del lenguaje natural (PLN) y el análisis de sentimientos, los desarrolladores optan por Python, que ofrece una forma más fácil y rápida de construir algoritmos de alto rendimiento, debido a la amplia colección de bibliotecas especializadas que incluye.
La Inteligencia Artificial (IA) en los videojuegos (29%) y la locomoción de los robots (27%) son las dos áreas en las que más se prefiere C/C++, dado el nivel de control, el alto rendimiento y la eficiencia requeridos. En este caso, un lenguaje de programación de bajo nivel como C/C++, que viene con bibliotecas de IA muy sofisticadas, es una elección natural, mientras que R, diseñado para el análisis estadístico y las visualizaciones, se considera mayormente irrelevante.
Aparte del análisis de sentimientos, R también tiene una prioridad relativamente alta -en comparación con otras áreas de aplicación- en la bioingeniería y la bioinformática (11%).
Si quieres más información puedes ver el post completo AQUI.