¿Es posible enseñarle a un robot a programar?

Todavía hay algo de trabajo por hacer, pero esto debería ser posible en teoría.

Escribir código es equivalente a generar una secuencia de caracteres / tokens que actúe como desee y respete la sintaxis de un lenguaje de programación.
Esto no es muy diferente de comunicarse en cualquier lenguaje humano (los idiomas humanos tienen una gramática y las palabras tienen un significado semántico).

Las redes neuronales recurrentes (una cierta clase de redes neuronales) han demostrado ser útiles para generar secuencias y se han aplicado durante un tiempo al procesamiento del lenguaje natural (recomiendo esta página en iniciadores de nvidia.com).

La efectividad irracional de las redes neuronales recurrentes contiene un ejemplo de código C ++ generado por AI

/ * * Incremente el archivo de tamaño de la nueva información incorrecta del grupo UI_FILTER * del tamaño generativamente. * /
static int indica_policy ( nulo )
{
int error;
if (fd == MARN_EPT) {
/ *
* El espacio en blanco del núcleo lo convertirá en espacio de usuario.
* /
if (ss -> segmento < mem_total)
unblock_graph_and_set_blocked ();
más
ret = 1;
ir a la fianza;
}
segaddr = in_SB (in.addr);
selector = seg / 16;
setup_works = true;
para (i = 0; i < bloques; i ++ ) {
seq = buf [i ++ ];
bpf = bd -> bd.next + i * search;
si (fd) {
actual = bloqueado;
}
}
rw -> name = “Getjbbregs”;
bprm_self_clearl ( & iv -> versión);
regs -> new = blocks [(BPF_STATS << info- > historidac)] | PFMR_CLOBATHINC_SECONDS << 12;
volver segtable;}

Aunque no se compila, la IA hace un buen trabajo al escribir código sintácticamente correcto: ¡aprende a usar punteros y cadenas e incluso a cerrar paréntesis!