In futuro i computer potrebbero "programmarsi da soli".


Sembra fantascienza, ma una realtà in cui i computer saranno in grado di "programmarsi da soli" potrebbe concretizzarsi nel giro di pochi anni, grazie al concetto di apprendimento automatico ed agli enormi database di software già esistenti. O almeno questo è quanto hanno fatto sapere di recente alcuni ricercatori del Politecnico Federale di Zurigo, (ovvero tra i primi a riuscire ad insegnare ad una macchina a scrivere il proprio programma), in uno studio, pubblicato sulla rivista dell'ateneo, che sta facendo da apripista per un nuovo campo di ricerca in rapida espansione, il cui obiettivo è, appunto, automatizzare il più possibile il processo di programmazione. Per fare un esempio, il modo in cui i "computer programmatori" imparano è simile al modo in cui già funziona il programma di traduzione di Google. In pratica i database pubblici attualmente disponibili danno accesso a milioni di software per computer che contengono miliardi di stringhe di programmazione, tuttavia questa incredibile quantità di dati non può essere sfruttata da un solo essere umano, ma da un computer sì: le macchine, infatti, possono riconoscere schemi e capire quali codici vengono usati in un determinato contesto, imparando anche il loro significato e le regole alla base. Al riguardo Martin Vechev coordinatore del suddetto gruppo di ricerca, ha affermato: "Secondo noi, la programmazione non deve reinventare la ruota ogni volta, ma imparare dagli esempi già esistenti". Insomma, secondo gli studiosi svizzeri, in un futuro non troppo lontano, i programmi potranno lavorare "a fianco" degli sviluppatori, come fanno attualmente le funzioni di completamento delle frasi che si usano per scrivere messaggi sugli smartphone: ad esempio, lo sviluppatore potrebbe scrivere il primo centinaio di linee di codice ed il computer li confronterà con i codici già presenti nel database. Successivamente, in base ai risultati, il computer darà suggerimenti su come continuare il programma, lasciando allo sviluppatore umano la possibilità di accettarli o meno. Comunque sia si tratta di sistema che potrebbe permettere alla macchina di continuare il suo processo di apprendimento, imparando a capire quali sono gli obiettivi del programmatore e migliorando, infine, i suoi suggerimenti.

Commenti