Visualizzazione post con etichetta machine learning. Mostra tutti i post
Visualizzazione post con etichetta machine learning. Mostra tutti i post

2025-03-05

La fine della programmazione?

Negli ultimi anni, lo sviluppo dell'intelligenza artificiale, in particolare dei modelli di linguaggio di grandi dimensioni (LLM), ha portato alcuni esperti a dichiarare che la programmazione diventerà obsoleta. Secondo Matt Welsh, presto non sarà più necessario scrivere codice, perché l'IA sostituirà la programmazione tradizionale con modelli addestrati e, nei casi più semplici, con codice generato automaticamente.

Tuttavia, questa affermazione è controversa. Se consideriamo software complessi come sistemi operativi, motori di gioco o piattaforme SaaS, è improbabile che possano essere completamente rimpiazzati da sistemi IA. Inoltre, generare codice corretto a partire da una specifica non è un problema banale: la teoria della computazione dimostra che il program synthesis è computazionalmente complesso e richiede risorse considerevoli.

Programmare in Inglese?

L'idea che l'inglese possa diventare il linguaggio della programmazione non è nuova. Già negli anni '50 si pensava che FORTRAN avrebbe eliminato il bisogno di scrivere codice, ma ciò non è avvenuto. Oggi, alcuni sostengono che strumenti come ChatGPT rendano possibile programmare in linguaggio naturale, ma il problema rimane: le lingue naturali sono ambigue e richiedono una precisa "sintassi" per essere comprese correttamente dall'IA.

Difficoltà nella generazione di codice corretto

Il problema centrale della generazione di codice da una specifica è noto come program synthesis. Si tratta di trovare un programma che soddisfi determinati vincoli, ma dimostrazioni teoriche mostrano che il problema è computazionalmente difficile (PSPACE-completo), il che significa che richiede un numero di passaggi esponenziale rispetto alla dimensione dell'input. Pertanto, strumenti basati su LLM non possono garantire di produrre codice corretto in modo affidabile.

L'IA come strumento, non come sostituto

Sebbene i LLM possano essere utili per suggerire codice ed accelerare il lavoro dei programmatori, non rappresentano la fine della programmazione. Le limitazioni degli approcci basati sull'IA sono ben note e questi strumenti dovrebbero essere considerati complementari piuttosto che sostitutivi della programmazione tradizionale.

Il vero valore del linguaggio naturale nella programmazione risiede nel dialogo tra sviluppatori e utenti per comprendere i requisiti software. L'IA può facilitare questa interazione, ma il problema della correttezza del codice rimane centrale e irrisolto.

 


Questo articolo è un estratto di On Program Synthesis and Large Language Models - Why it is unlikely new developments in machine intelligence will eventually make programming obsolete di Hans Hüttel (pubblicato su Communications of the ACM, gennaio 2025 - Vol. 68 No. 1 al quale rimandiamo per i dettagli).

2018-11-04

Ci vediamo all'Italian C++ Day 2018

La terza edizione del "C++ Day" si terrà a Pavia il 24 Novembre 2018. Il C++ Day è un format di eventi annuali completamente dedicati allo sviluppo C++ creato dall'Italian C++ Community. L'edizione di quest'anno è co-organizzata con l'università di Pavia.

Il programma dell'evento è consultabile nella pagina ufficiale insieme a varie altre informazioni. Molte presentazioni riguarderanno il Machine Learning / Intelligenza Artificiale e l'iscrizione è completamente gratuita… ottimi motivi per non mancare.
Noi parteciperemo con un talk dedicato agli algoritmi evolutivi (Lessons Learned Developing Evolutionary Algorithms in C++).

2017-12-07

Italian Ecosystem by region - 1st survey

L'Associazione Italiana per l'Intelligenza Artificiale (AI*IA) ha pubblicato la prima mappa (23/11/2017) delle aziende italiane che utilizzano / sviluppano tecnologie legate all'intelligenza artificiale.

Noi ci siamo! (area Machine Learning)


L'Associazione Italiana per l'Intelligenza Artificiale (AI*IA) è una associazione scientifica senza fini di lucro, fondata nel 1988, con lo scopo di promuovere la ricerca e la diffusione delle tecniche proprie dell'Intelligenza Artificiale. L'Associazione si pone l'obiettivo di aumentare la conoscenza dell'Intelligenza Artificiale, incoraggiarne l’insegnamento e promuovere la ricerca teorica e operativa nel campo attraverso seminari e iniziative mirate e sponsorizzazione di eventi.

L'associazione dispone di sette gruppi di lavoro focalizzati su temi specifici: sistemi ad agente e multiagente, intelligenza artificiale e ageing, intelligenza artificiale per i beni culturali, robotica, apprendimento automatico e data mining, rappresentazione della conoscenza e ragionamento automatico, elaborazione del linguaggio naturale. Attualmente l'associazione conta circa 300 membri.