Seguici sui social

Riprogrammare il futuro: come l'intelligenza artificiale sta ridefinendo sviluppatori e linguaggi

Leader del pensiero

Riprogrammare il futuro: come l'intelligenza artificiale sta ridefinendo sviluppatori e linguaggi

mm

L'era della programmazione basata sull'intelligenza artificiale è alle porte, e non è solo un'apparizione secondaria: sta rubando la scena. L'intelligenza artificiale sta già riscrivendo le regole della creazione del codice. Tuttavia, questa è solo la punta dell'iceberg per quanto riguarda il suo potenziale. In un futuro non troppo lontano, gli algoritmi sono pronti a eliminare le barriere linguistiche e a trasformare radicalmente il ruolo degli sviluppatori umani. Stiamo assistendo alla fine del programmatore umano così come lo conosciamo? Scopriamolo.

L'impatto dell'intelligenza artificiale: progressi e sfide

Il CEO di Stabilità AI vernici un quadro cupo per i programmatori, che affermano coraggiosamente che l’intelligenza artificiale li sostituirà entro soli cinque anni. OpenAI punta al massimo, montaggio un “esercito” di appaltatori esterni per potenziare il loro modello di formazione, potenzialmente cancellando i lavori di codifica entry-level. Bloomberg minacciosamente dichiara che l'enorme bacino di 5 milioni di programmatori indiani sia sull'orlo di un'apocalisse lavorativa nel campo dell'intelligenza artificiale. Nonostante queste previsioni fosche, le discussioni su Reddit suggeriscono che molti programmatori siano indifferenti alla sicurezza del loro posto di lavoro. Ma possiamo permetterci di rimanere così presuntuosi di fronte a un cambiamento così radicale?

Se pensi che l’intelligenza artificiale sia solo uno spettacolo secondario, forse dovresti riconsiderarlo. È vero che in questo momento, sebbene l’intelligenza artificiale possa imitare la sintassi e la struttura dei risultati scritti dagli esseri umani, spesso fatica a comprendere il “perché” dietro il “cosa”. In altre parole, manca una profonda comprensione della logica e dell’intento sottostanti. 

Eppure, già uno sconcertante 92% degli sviluppatori con sede negli Stati Uniti lo fa abbracciando Strumenti di codifica AI, sia al lavoro che nel tempo libero. Questi algoritmi intelligenti possono frustare Il 40% del tuo codice, dagli script semplici a quelli complessi. L’errore umano sta diventando una cosa del passato. La velocità di sviluppo è turbo, con l'intelligenza artificiale tagliando tempo di documentazione del codice del 45-50% e riduzione del tempo di scrittura del codice del 35-45%.

La portata dell'intelligenza artificiale non si limita a un singolo linguaggio; li abbraccia tutti. I nostri dati mostrano che gli sviluppatori Java, Python e C++ beneficiano in egual misura della funzionalità di chat basata sull'intelligenza artificiale di Machinet, che può generare codice utilizzando il contesto di un particolare progetto e una descrizione fornita. Questa inclusività porta a un aumento del 25% del coinvolgimento degli utenti. 

Ma non fermiamoci qui - L'intelligenza artificiale individua già i bug nelle applicazioni, garantendo che i prodotti siano solidi, affidabili e robusti. Le reti neurali possono analizzare instancabilmente vulnerabilità che gli esseri umani potrebbero non individuare. L'intelligenza artificiale sta affinando le sue capacità per identificare i punti deboli del software e potenziarne le difese, avvicinandoci sempre di più a un futuro in cui la supervisione umana potrebbe diventare obsoleta.

Gli algoritmi dell'intelligenza artificiale stanno persino padroneggiando l'arte della traduzione del codice. L'intelligenza artificiale è come un programmatore poliglotta che analizza il codice scritto in un linguaggio, per poi crearne una versione equivalente in un altro. Gli esempi ci sono già: IBM ha recentemente svelato il suo assistente, che utilizza un modello AI per tradurre COBOL in Java. La domanda è: chi ha bisogno di esperti umani o di più linguaggi di programmazione quando l’intelligenza artificiale sarà finalmente in grado di fare tutto?

La fine della diversità linguistica

Sono convinto che non ci sarà modo di fermare l'ascesa di modelli linguistici di grandi dimensioni come GPT-4. Sono in grado di comprendere sia il linguaggio naturale che il codice, sfumando i confini come mai prima d'ora. 

L’acquisizione dell’intelligenza artificiale solleva interrogativi sul futuro del panorama della programmazione. Oggi esistono centinaia di linguaggi di programmazione e ne vengono sviluppati regolarmente di nuovi. Molti sono utilizzati attivamente nel settore. Secondo il Indice PYPL, Python è il linguaggio più popolare al mondo, seguito da Java, JavaScript, C# e C/C++. Altri dati spettacoli che a partire dal 2022 JavaScript era il più comune tra gli sviluppatori di software. Alcuni linguaggi sono adatti per scopi e applicazioni simili, Java e GO ne sono un esempio.

Quindi, questi linguaggi, ciascuno con la propria nicchia e il proprio scopo, diventeranno inutili man mano che l’intelligenza artificiale diventerà sempre più abile nella programmazione? Credo che l’intelligenza artificiale sia sul punto di rendere obsolete le tecnologie più vecchie, più lente e meno sicure. Ciò potrebbe potenzialmente portare a una centralizzazione delle lingue, e a far durare solo quelle più veloci ed efficienti. Gli sviluppatori non li sceglieranno più in base alle preferenze personali o alle basi di codice storiche. Verranno invece selezionati per la loro performance. Gli strumenti basati sull’intelligenza artificiale li analizzeranno meticolosamente e li metteranno a confronto per identificare le scelte ottimali per compiti specifici. Queste analisi terranno conto di fattori quali velocità di esecuzione, utilizzo della memoria e scalabilità.

Potrebbe addirittura emergere un linguaggio centrale e favorevole all’intelligenza artificiale per compiti generali di codifica. Tuttavia, alcuni specialisti troveranno il loro posto in settori di nicchia, come l’informatica scientifica. L’intelligenza artificiale può facilitarne l’integrazione quando problemi specifici ne richiedono l’utilizzo. Questo approccio ibrido combinerà l’efficienza della centralizzazione con il potere della specializzazione, offrendo flessibilità e diversità nel processo di sviluppo.

Sistemi legacy nel mirino

L'influenza dell'IA si estende oltre la creazione di nuovo codice; rappresenta anche un potenziale fattore di eliminazione del legacy. La migrazione da linguaggi obsoleti a quelli più recenti ed efficienti può essere un processo macchinoso e costoso. Tuttavia, mantenere sistemi legacy rappresenta anche un onere finanziario. In genere, i team tecnologici assegnare circa il 75% del budget di sviluppo è destinato ad attività di manutenzione. E se un'organizzazione continua a fare affidamento su soluzioni legacy, può prevedere un aumento del budget annuale di circa il 15%.

È qui che entrano in gioco gli strumenti di migrazione basati sull’intelligenza artificiale. Semplificheranno per le organizzazioni l’aggiornamento del software esistente ai linguaggi ottimali di questa nuova era. I prodotti basati sull'intelligenza artificiale analizzeranno e comprenderanno automaticamente le complessità delle basi di codice obsolete. Identificheranno le funzionalità principali, le dipendenze e i potenziali problemi all'interno del codice legacy, rendendo molto più semplice la pianificazione e l'esecuzione del processo di migrazione. 

Mi aspetto persino che l'intelligenza artificiale identifichi il linguaggio più adatto per un determinato progetto e converta automaticamente la base di codice, riscrivendo le sezioni per aderire alle migliori pratiche, eliminando funzioni ridondanti o deprecate e ottimizzando il risultato per migliorare prestazioni e sicurezza. In questo modo, gli strumenti di migrazione basati sull’intelligenza artificiale renderanno gradualmente il codice legacy una reliquia del passato.

I programmatori umani sopravvivranno alla rivoluzione?

Alla fine, in questo panorama dominato dall’intelligenza artificiale, il ruolo dei programmatori umani si trasformerà. Invece di scrivere il codice manualmente, colmeranno il divario tra le esigenze aziendali e le capacità dell’intelligenza artificiale. Definiranno gli obiettivi, forniranno feedback e garantiranno che il codice sia in linea con la loro visione. In sostanza, gli sviluppatori diventeranno “connettori” con conoscenze di programmazione di base. Allo stesso tempo, vedo gli assistenti di codifica basati sull’intelligenza artificiale evolversi in soluzioni olistiche dotate di interfacce user-friendly che consentono alle persone di comunicare in modo efficace le proprie esigenze agli algoritmi.

Questi cambiamenti democratizzeranno il campo della programmazione. Attualmente ce ne sono più 26 milioni sviluppatori di software in tutto il mondo. I progressi nell’intelligenza artificiale stanno aprendo la strada a miliardi di persone per assumere il ruolo di creatori di software. Potranno richiedere algoritmi per creare applicazioni su misura, siano essi giochi o programmi aziendali. Stai pensando di creare una nuova versione di Angry Birds con i gatti? Spiega semplicemente le tue idee ai sistemi di intelligenza artificiale e ottieni risultati immediati, senza bisogno di capire come funziona esattamente questa scatola nera. 

In questo contesto, sorge una domanda urgente: cosa c’è in serbo per gli sviluppatori junior e di medio livello all’interno di questo paradigma emergente? A mio avviso, non molto. L’intelligenza artificiale è pronta a superarli significativamente in ogni aspetto. Potrebbero ritrovarsi a diventare supervisori dell’intelligenza artificiale o ad affinare in modo indipendente le proprie capacità, magari impegnandosi in progetti meno gratificanti dal punto di vista finanziario, per raggiungere il livello di competenza di programmatori ben qualificati e ben pagati. 

Quest’ultimo gruppo rimarrà richiesto nei settori in cui gli errori sono costosi e un miglioramento del 5% nella precisione può tradursi in milioni o addirittura miliardi di risparmi. Si tratta, ad esempio, del trading ad alta frequenza, in cui una variazione di soli 10 millisecondi può determinare profitti o perdite, del settore bancario e della programmazione della tecnologia militare.

Questo cambiamento creerà una vera competizione globale tra i programmatori. Attualmente opera in un quadro alquanto pseudo-globale. A differenza dei musicisti che competono su piattaforme come Spotify con colleghi di tutto il mondo, gli sviluppatori possono ancora concentrarsi principalmente sui mercati locali e su compiti specifici. Tuttavia, il mercato in cui l’intelligenza artificiale è in grado di gestire una quota sostanziale dei compiti di programmazione diventerà fondamentale. Essere “abbastanza bravi” non sarà più sufficiente. I programmatori dovranno puntare all’eccellenza per competere sia con i colleghi di tutto il mondo che con l’intelligenza artificiale.

Uladzislau è l'amministratore delegato di machinet.net e mate-os.com, è uno scienziato riconosciuto nel campo dell'intelligenza artificiale, acclamato nel Regno Unito e negli Stati Uniti. I suoi prodotti innovativi basati sull'intelligenza artificiale sono stati presentati da OpenAI. Con una vasta esperienza che spazia dall'intelligenza artificiale generativa, agli investimenti e all'analisi, Uladzislau ha contribuito in modo significativo alle applicazioni di intelligenza artificiale presso Wargaming, migliorando le principali operazioni di prodotto.