En 25-50 años, ¿se seguirán utilizando lenguajes de programación? ¿La inteligencia artificial cambiará la forma en que se programan las computadoras?

¿La IA cambiará la forma en que se programan las computadoras? Algunos, probablemente. Me imagino interfaces de coincidencia de patrones entre sí para que no necesite codificar la conexión a mano, por ejemplo.

Pero a falta de una IA fuerte [1] o similar, aún requerirá programadores especializados para crear cosas nuevas .

Ya tenemos herramientas para que los no programadores las usen para crear, por ejemplo, sitios web. Arrastrar y soltar, no se requiere codificación. Ese tipo de herramienta probablemente se creará una y otra vez. Los programadores odian crear código repetitivo, por lo que siempre están creando herramientas para automatizar la creación de aplicaciones comunes como sitios web. Algunas de esas herramientas se pulen y se les da un UX que los usuarios finales pueden manejar.

A veces, las aplicaciones están diseñadas para realizar una tarea general, como Excel u otras hojas de cálculo. Los usuarios que no son programadores pueden utilizarlos para crear tareas personalizadas complejas.

El problema central nunca es que los lenguajes de programación sean difíciles de entender, sino que dividir los problemas en sus partes constituyentes e interrelaciones es difícil.

Y eso seguirá siendo difícil, sin importar cuánto aprendizaje automático se aplique a la pregunta. Porque para crear un nuevo diseño, el desarrollador (AI u otro) necesita comprender los objetivos del proyecto. Y ese tipo de comprensión aún no está en el horizonte para la IA.

¿Quizás 50 años? Es difícil de predecir tan lejos, y probablemente dependerá de los avances en la comprensión del cerebro que aún no han sucedido. Más concretamente, una vez que tengamos IAs equivalentes a humanos, básicamente todos los trabajos podrían ser realizados por IA, entonces, ¿cuál es el punto de especulación sobre la programación de trabajos? Una vez que tenga una simulación humana completa , puede tener artistas de IA, autores, músicos, actores, recepcionistas, directores generales, cualquier cosa. Por lo tanto, hablar sobre si los AI pueden codificar en ese punto es como preocuparse solo por los trabajos de los violinistas cuando todo el centro de la ciudad, incluido el museo y la sala de conciertos, están en peligro de ser cerrados.

Notas al pie

[1] IA fuerte

Como programador que odia el hecho de que ya no podemos programar todo y que se está volviendo cada vez más especializado, veo en 50 años interfaces de muy alto nivel a un nivel más conversacional. La tecnología tiene que transformarse, pero existen diferentes tipos de bases de datos como conceptos debido a limitaciones en la expresión del lenguaje, el modelo de la solución o alguna razón de hardware. El concepto de servidor cliente podría desaparecer con la tecnología adecuada, ya que tener que escribir del lado del cliente / lado del servidor / middleware / capa de base de datos / etc. son conceptos artificiales necesarios basados ​​en la forma en que las computadoras interactúan y los diversos puntos de barrera y restricciones. Si observas la codificación de una red neuronal en Python en Tensorflow hoy en día en comparación con la codificación de una red codificada a mano con propagación hacia atrás en los años 80, es increíble la diferencia. Habrá trabajos de programación en el conjunto de herramientas encapsuladas, pero los componentes se volverán más flexibles, más fáciles de usar / especificar e integrar y muchos de los trabajos de programación en restricciones artificiales (o reales) se eliminarán lentamente. No estoy seguro de que sea Star Trek (computadora, bla, bla, bla), pero los sistemas expertos, las herramientas automatizadas, la inteligencia artificial, las API de alto nivel, la eliminación de las restricciones de conectividad actuales basadas en el entorno de la computadora conectada pueden ser muy útiles para eliminar muchas cosas. y muchos trabajos de programador de computadoras, pero tal vez reemplazar algunos con expertos en la materia creando soluciones para un espacio problemático. Será muy diferente, ya lo es.

Siempre habrá lenguajes de programación. Ese lenguaje de programación en el futuro podría ser inglés, esparanto o gestos con las manos. La interfaz para definir lo que quiere que haga la computadora es, en esencia, un lenguaje de programación, especialmente cuando consiste en una secuencia de pasos o acciones que deben realizarse y no solo una interacción.

La IA puede cambiar la forma en que escribimos el código, pero aún tendremos que ser claros en nuestra definición de lo que queremos hacer o el problema que queremos resolver. Los lenguajes de programación se desarrollan por ese motivo. Los lenguajes de programación potencialmente futuros podrían estar más orientados a resolver problemas a lo largo de las definiciones de problemas definidos en el aprendizaje automático, como la clasificación o la regresión, pero en última instancia, la programación no es más que expresar una idea. Cómo se expresan estas ideas no es realmente el problema principal, y como tal vuelvo a mi respuesta original, siempre que haya máquinas habrá lenguajes de programación.

Creo que la mayoría, si no todos, estarán orientados al habla, sintácticamente un lenguaje súper fácil de entender que todos pueden usar.

Al igual que los lenguajes naturales. Al menos esperaría un futuro así.