Le intelligenze artificiali e gli algoritmi di machine learning hanno rivoluzionando i processi di sviluppo software, le AI aiutano gli sviluppatori ad automatizzare i processi ripetitivi e le applicazioni di machine learning permettono di implementare al meglio vari tipi di funzionalità, migliorando l'esperienza utente generale.
Ma questo è solo l'inizio, le intelligenze artificiali potrebbero presto diventare la parte attiva nello sviluppo delle applicazioni, andando ad automatizzare completamente il processo di creazione del codice. Per molti esperti del settore le funzionalità di self coding sono più vicine di quanto si pensi e già nei prossimi anni potrebbero diventare disponibili.
Attualmente si sta pensando di realizzare delle AI che possano suggerire strategie di sviluppo ai developer e consigliare correzioni a carico del codice durante la digitazione, cosi da rendere più efficace il lavoro del programmatore. Senza contare che le intelligenze artificiali potrebbero presto essere capaci di individuare problemi emersi dopo il completamento delle fasi principali di sviluppo, facilitando notevolmente il lavoro dei DevOps. Le operazioni di testing e debug infatti possono essere estremamente tediose e molto probabilmente questo sarà il settore dove le AI arriveranno prima, sostituendo l'uomo nei lavori di analisi del codice.
Il prossimo step sarà ovviamente la creazione stessa delle patch e successivamente il self coding. Oggi siamo molti vicini a tali soluzioni, infatti esistono vari esempi di visual development (no-code platform) già operativi, tali piattaforme permettono di creare servizi e software senza che si debba scrivere codice, o solo una minima parte, ma è possibile costruire l'applicazione tramite un'interfaccia molto semplice.
Uno degli ostacoli principali per lo sviluppo di AI cosi funzionali sta nella comprensione del linguaggio umano. Abbiamo esempi di AI come Google Duplex che riescono a sostenere una normale conversazione, ma andare a spiegare ad una AI il prodotto software che si desidera è molto più complesso e spesso servono settimane di lavoro per capire quello che il cliente desidera.
Via Daniel Kroening