Skip to main content

¿Qué es la programación automática?

La programación automática en ciencias de la computación e ingeniería informática se refiere a la producción de código de programación por parte de algún sistema o software en respuesta a entradas o comandos más abstractos del usuario. En cierto sentido, la programación automática describe cualquier situación en la que una computadora o software reemplazará una declaración ingresada por un programador con un bloque de código que puede realizar concretamente las acciones descritas en la declaración. Cuando se usa en otro sentido, la programación automática puede describir el objetivo de crear un lenguaje o sistema de programación que pueda ensamblar intuitivamente una aplicación completa basada solo en la dirección más simple del programador. La programación automática se puede utilizar en algunos campos de investigación informática para referirse al proceso de diseño de un sistema de inteligencia artificial (IA) capaz de producir de forma autónoma un programa para completar una tarea o de auto modificar su propio código para mejorar la funcionalidad.

La definición de programación automática es algo vaga. Originalmente se usó durante los primeros años de la programación de computadoras para describir la traducción de instrucciones abstractas en lenguaje ensamblador en código máquina expandido. Esto se llamó programación automática porque el compilador reemplazaría automáticamente una sola declaración legible por humanos con docenas o más instrucciones de código de máquina, esencialmente escribiendo automáticamente el programa de una manera primitiva. Los compiladores de lenguaje siguen realizando las mismas acciones en la mayoría de los casos, independientemente del lenguaje de programación superpuesto que se utilice.

Otro uso del término "programación automática" es describir la generación automática de código. Esto es cuando un entorno de desarrollo integrado (IDE) u otra herramienta se puede usar visualmente, o de una manera muy fácil, para especificar cómo vería un programa un usuario final. Una vez que se crea el resultado deseado, el software o IDE puede producir automáticamente el código fuente funcional para lograr el resultado sin ninguna entrada adicional del programador.

En algunos casos, la programación automática también se refiere al estudio de cómo implementar lenguajes a un nivel tan alto que el código fuente se parece al lenguaje natural. Un lenguaje de programación como este produciría automáticamente la aplicación en función de la amplia entrada del programador. Sin embargo, no importa cuán automático se vuelva un lenguaje, debe tenerse en cuenta que el programador necesita en algún momento modificar manualmente el código para una funcionalidad específica utilizando el lenguaje de programación en sí.

En el campo de la inteligencia artificial, se realizan algunas investigaciones para desarrollar un sistema que pueda programarse automáticamente para agregar capacidades que originalmente no se le dieron. Esto también se extiende a las IA que son capaces de escribir software independiente que puede resolver un problema específico. Una aplicación sería crear un lenguaje de programación que pudiera usar IA para generar prototipos de programas rápidos.