¿Qué lenguaje / lenguajes de programación serán los más utilizados / prácticos para el campo de la IA en 10-15 años?

La respuesta podría ser Java, C, C ++ y Python, ya que se han mantenido tan bien durante los últimos 15 años. Sin embargo, esa respuesta supone que nuestro hardware funcionará de la misma manera que ahora.

Aprendiendo por hoy

Si está preguntando qué idioma aprender, entonces el problema con su pregunta es que está demasiado lejos en el futuro. No necesita 10-15 años para aprender un nuevo idioma. Solo necesitas 1-2 años.

Por lo tanto, debe centrarse en aprender los idiomas de IA de hoy y dejar que el mañana se encargue de sí mismo.

Nuevas arquitecturas

Dado lo candente que es un tema de IA, imagino que habrá nuevos lenguajes significativos en 10-15 años que difícilmente podemos predecir.

Los nuevos lenguajes más importantes probablemente se ejecutarán en nuevas arquitecturas que están más allá de la arquitectura von Neumann de hoy. Por ejemplo:

  • Procesadores diseñados para funcionar como el cerebro humano, como el chip IBM SyNAPSE.
  • Computación cuántica.
  • Otras formas de paralelismo masivo o diseño especializado.

Entonces, si realmente quiere estar a la vanguardia de los idiomas, estudie los idiomas que están adaptados para nuevos tipos de procesadores.

Predecir qué lenguaje (s) de programación dominará la IA dentro de 10 a 15 años es complicado. En estos días, Python está de moda en el campo de la ciencia de datos / aprendizaje automático, pero eso podría cambiar rápidamente.

El panorama actual:

  • Python tiene un gran soporte comunitario y muy buenos paquetes como scikit-learn, NumPy y pandas.
  • R tiene un soporte aún más amplio para el aprendizaje automático que Python con sus paquetes CRAN y tiene una larga tradición en la comunidad estadística, pero es demasiado lento para manejar grandes cantidades de datos y es malo en el procesamiento de texto
  • C ++ es muy rápido pero demasiado detallado y de bajo nivel para la creación rápida de prototipos.
  • MATLAB es lento y propietario, aunque tiene paquetes decentes. Su primo de código abierto Octave no es mucho mejor.
  • Una tendencia relativamente nueva es el aumento de los análisis basados ​​en la nube con servicios como Azure Machine Learning , Amazon Machine Learning y Google Cloud Prediction API . Si bien estos no son lenguajes de programación en sí, parece que este tipo de desarrollo de muy alto nivel está ganando rápidamente un gran número de seguidores.

Creo que la mayoría de estos todavía estarán entre 10 y 15 años a partir de ahora, pero el lenguaje más utilizado para la IA podría ser uno nuevo como Julia , que intenta combinar el rendimiento de C con la expresividad de Python. Otro prometedor es Go . O el lenguaje más utilizado en 10 años podría no haberse desarrollado aún. Las cosas se mueven muy rápido.

Si por AI te refieres a redes neuronales, entonces quizás quieras mirar el lenguaje corelet de IBM:

http://www.research.ibm.com/soft

Mientras la competencia por los chips AI Optimized se está intensificando, IBM se tomó el tiempo para diseñar un lenguaje completo en torno a las redes neuronales. También está orientado a objetos. Si bien True North podría no convertirse en el estándar de inteligencia artificial que IBM espera, vale la pena aprender los conceptos detrás del lenguaje.

Otra escuela de pensamiento es ir funcional. Haskell y Closure son compatibles con varios subprocesos y toman el hecho de que los microchips se dirigen a la dirección multinúcleo, aprender un lenguaje funcional podría ayudar en gran medida a crear redes neuronales amigables con la nube.

Tenga en cuenta que AI es un campo que cambia con frecuencia. Los métodos utilizados para producir algoritmos de juego de ajedrez son bastante diferentes a los de las redes neuronales. Por lo tanto, cualquier cambio de paradigma en la IA podría interrumpir sus planes de idiomas.

Los 9 lenguajes de programación más demandados de 2016 – Coding Dojo Blog

¿Qué tal Prolog en Europa, Lisp en los Estados Unidos junto con Python, C ++, etc.

Los lenguajes de programación van y vienen, pero algunos han resistido la prueba del tiempo.

Aunque estos dos no aparecen en las listas de idiomas en demanda, se prestan a resolver problemas que no son tan sencillos.

Empleos de Lisp, salario promedio para las habilidades de Lisp

Prolog Jobs, salario promedio para las habilidades de Prolog

Los programas se describirán en lenguaje natural y los requisitos serán traducidos por la Herramienta de Desarrollo de AI (ADT) a cualquier lenguaje de programación que sea más eficiente en su plataforma de hardware particular. El ADT hará preguntas para aclarar los requisitos y proporcionar comentarios si los requisitos son contradictorios o no tienen sentido. Luego, el ADT producirá una base prototipo sobre sus requisitos y documentará la lógica utilizando un pseudocódigo de alto nivel para que usted lo consulte cuando proporcione comentarios o refina los requisitos.

La gente podría recurrir a los idiomas que se desarrollaron en el último período fuerte de desarrollo de IA. Entonces querrás mirar Lisp o Scheme.

Personalmente comencé a analizar el Esquema Guile, porque me permite ir más allá de las limitaciones impuestas por las elecciones de los desarrolladores de Guile: puedo cambiar efectivamente el compilador para adaptarlo a las necesidades del problema a resolver.

Probablemente usarás más de uno. O incluso ninguno.

Dependiendo del clima, ve a IBM Watson como una solución o una herramienta de una docena de soluciones de IA desconectadas juntas en una caja de herramientas.

Tenga en cuenta que no pretendo que Watson sea LA herramienta de IA en 10 años, solo que su sucesor exitoso se inspirará en ella (inspiración para lo mejor y lo peor).

Tres posibles respuestas.

  1. Al igual que en los últimos 15 años, no existe un avance real ni en los lenguajes de programación generales ni en la IA, y los lenguajes de programación utilizados son los mismos que en la actualidad. E igualmente inadecuado.
  2. Milagrosamente, a alguien se le ocurre un lenguaje de programación que avanza la IA. Si es así, será significativamente diferente de cualquier idioma existente, todos los cuales ofrecen poca o ninguna ventaja sobre cualquier otro.
  3. Evolucionan nuevos idiomas que no son más adecuados que los idiomas actuales, o posiblemente incluso menos adecuados. No es tan improbable como puedas pensar.

Me sorprendería mucho si los humanos todavía escriben código en 15 años.

Quiero decir, ¿qué nos haría creer que hay una habilidad allí que no puede ser automatizada en sí misma?

No hay razón para pensar que ningún enfoque algorítmico será automatizado. Si la codificación es una habilidad, debe ser algorítmica.