Software

Come i tool di AI generativa possono aiutare lo sviluppo di codice

Grazie a questi strumenti gli sviluppatori possono ottenere software migliore e in tempi più stretti. Vanno però presi in considerazione più aspetti e le immancabili controindicazioni che non sono soltanto di ordine etico, morale o legale

Pubblicato il 13 Apr 2023

tools AI generativa sviluppo codice

Nel febbraio 2023 il Wall Street Journal si è concentrato sul ruolo degli sviluppatori in seguito alla democratizzazione delle intelligenze artificiali generative, spezzando una lancia in favore di queste ultime. In sintesi, così come possono aiutare nella stesura di testo e nella creazione di immagini, le AI generative possono diventare validi tool per lo sviluppo di codice.

Un tema vasto che porta con sé considerazioni che vanno ben al di là dello sviluppo di codice (che abbiamo trattato qui) e che parte dal presupposto, secondo il quale, non si parla di sostituire gli sviluppatori ma di rendere il loro lavoro più fluido e quindi più preciso e veloce. Nulla di veramente nuovo.

È bene sottolinearlo, perché è un aspetto fondante anche nell’informatica intesa nel senso più ampio possibile. I sistemisti che hanno già avuto a che fare con l’installazione di un cluster Windows NT 4.0 sanno quanto è più facile fare la stessa cosa con Windows Server 2019 e questo non ha minato la figura professionale del sistemista, gli ha reso la vita molto più facile permettendogli di occuparsi d’altro.

Ritornando alla programmazione, l’obiettivo ultimo delle AI generative è quello di suggerire porzioni di codice, consigli e accorgimenti capaci di aumentare la produttività degli sviluppatori. E non è cosa di poco conto, considerando che un programmatore è colui che ha acquisito la logica della programmazione in sé e riesce a muoversi con una certa disinvoltura tra un linguaggio e l’altro, limitandosi a usare manuali e tutorial per conoscere alcuni passaggi semantici o comandi specifici di questo o quel linguaggio di sviluppo.

Già a una prima lettura, si capisce che se questa fase di consultazione viene meno perché supportata da un’AI generativa, i vantaggi appaiono evidenti. Andando più in profondità il contributo delle AI generative diventa vieppiù fondamentale.

L’AI e lo sviluppo di codice

AI e sviluppo di codice sono complementari e, probabilmente, lo saranno ancora a lungo. Lo sviluppatore è l’unico a potere tenere presenti le necessità dell’utente del software, è l’unico capace di lavorare in gruppo ed è anche l’unico a tenere debito conto delle tecnologie e dell’infrastruttura in uso e le specifiche anche di ordine legale e morale.

Cambia però il ruolo dello sviluppatore il quale, oltre a sapere come impiegare le AI generative nel proprio lavoro, deve indossare il cappello del revisore e dotarsi della lente dell’investigatore, per controllare e verificare la correttezza anche formale del codice.

Low-code e no-code

È, con ogni probabilità, il futuro che verrà costruito grazie alle AI generative applicate allo sviluppo. Ambienti e piattaforme sempre più abili nell’identificare porzioni di codice da utilizzare e riutilizzare per creare software ma, anche in questa evenienza, sarà sempre compito dell’uomo decidere cosa deve fare un programma e come deve farlo.

Oggi un’AI può scrivere codice ma, per farlo, attinge a quello scritto in precedenza dall’uomo e, allo stesso modo, un’AI può creare una app ma sempre contando su modelli scritti dall’uomo e sviluppati in diversi linguaggi di programmazione. Altrettanto vale per il debug: gli ambienti di sviluppo integrato (Ide) sono da anni in grado di individuare problemi di sintassi nel codice ed è qui che le AI possono inserirsi con maggiore penetrazione, pur sempre attingendo a codice già esistente e ai modi in cui i bug sono stati corretti dall’intervento umano.

Tutto ciò introduce due discorsi diversi: il primo riguarda la codifica in sé, che rimane attuale e che necessita dell’uomo per esistere ed evolvere, il secondo ci porta verso i tool di AI che aiutano gli sviluppatori nella stesura del codice, aumentando la produttività e, soprattutto, consentendo loro di prendersi maggiore cura della durata dei cicli di vita del software.

8 tool di AI generativa per lo sviluppo di codice

Abbiamo selezionato alcuni degli strumenti che collaborano con l’uomo nella stesura di codice, scegliendo tra diversi ambiti di applicazione e favorendo quelli che possono essere utilizzati o provati gratuitamente.

Deepcode

tools AI generativa sviluppo codice

Strumento interessante che si concentra soprattutto sull’identificazione delle vulnerabilità del codice scritto e che si integra con la maggior parte degli ambienti di programmazione ed è in grado di interpretare i linguaggi più diffusi.

Deepcode consente uno scan veloce del codice, affinché i problemi di programmazione siano immediatamente noti e vengano risolti prima di diventare parte integrante del software. Le scansioni si estendono agli eventuali repository usate e l’automatismo con cui vengono eseguite restituiscono un rapporto che aiuta a stabilire, laddove necessario, le opportune priorità.

L’uso per privati è gratuito e vale la pena dargli un’occhiata, mentre le politiche di prezzo sono da valutare in base alle necessità delle singole imprese.

Bloop

tools AI generativa sviluppo codice

Interagire con un’AI affinché spieghi cosa fa un codice e a quali difficoltà può portare nello stato in cui si trova. Bloop elabora il linguaggio naturale e semplifica le risposte più complesse per palesare nel modo più diretto la situazione riscontrata, sia questa indice di una buona profilassi del codice o foriera di problemi.

La versione Desktop è gratuita, quella Cloud costa 12 dollari al mese per utente e la versione Enterprise, che permette la connessione a diversi repository, ha un costo che viene rilasciato a chi ne fa richiesta.

TabNine

tools AI generativa sviluppo codice

Usa il deep learning per completare porzioni di codice, esaminando ciò che è già stato scritto e riproponendolo laddove ritenuto necessario.

Allo stesso modo, TabNine permette di testare parti di software anticipando i risultati e suggerendo come intervenire per ovviare ai problemi riscontrati.

Si può usare con diversi ambienti e linguaggi di programmazione ed è installabile al pari di una qualsiasi estensione.

Anche in questo caso, la versione per uso personale – limitata nelle sue funzionalità – è gratuita. La versione Pro ha un costo di 12 dollari al mese per utente e si adegua allo stile di codifica di chi ne fa uso, oltre a essere più accurata nel completamento del codice. La versione Enterprise, i cui prezzi sono comunicati su richiesta, permette una configurazione personalizzata e contempla la possibilità di essere installato e gestito direttamente dal cliente.

Metabob

tools AI generativa sviluppo codice

Fa leva sul machine learning, è stato addestrato a riconoscerei bug e ad applicare le correzioni del caso individuando le incongruenze logiche riscontrate nel codice. Allo stesso modo individua i dati essenziali e le vulnerabilità dal punto di vista della sicurezza. Al fine di ridurre i falsi positivi e consente di creare dei set di regole.

Si integra a qualsiasi repository e agli Ide più diffusi. Metabob può essere prelevato gratuitamente, ma sono le versioni Team (20 dollari al mese) e quella Enterprise (prezzi su richiesta) a essere maggiormente utili allo scopo, consentendo di creare regole proprietarie e di essere hostate su strutture proprietarie.

aiXcoder

tools AI generativa sviluppo codice

Interpreta il linguaggio naturale per generare il codice necessario a soddisfare le richieste dell’utente, fornendo un aiuto che consente agli sviluppatori di produrre con maggiore velocità. Il codice generato può essere utilizzato senza uscire dall’editor e, ancora prima di procedere a prelevare il client, si può provare direttamente online.

I prezzi sono comunicati a chi ne fa richiesta.

Polycoder

tools AI generativa sviluppo codice

Prelevabile su Github, Polycoder utilizza un ampio repository di file di input per generare codice in diversi linguaggi di programmazione. Un valido supporto per gli sviluppatori creato sulla base di GPT-2 ma implementato costantemente allenandolo con oltre 250 GB di codice. Non c’è tool che dia risultati migliori con il linguaggio C, secondo i creatori,

Warp AI

tools AI generativa sviluppo codice

Fa leva su GPT-3 per interagire con Terminal, l’applicazione sviluppata da Apple e integrata in macOs. Warp AI dà il meglio di sé quando gli si chiede di illustrare in modo dettagliato come rimediare a un errore di codifica permettendo peraltro di applicare la soluzione fornita al codice stesso senza necessità di copiare porzioni di codice nel Terminale.

Allo stesso modo si può chiedere a Warp AI di scrivere del codice, per esempio, per collegarsi a una risorsa Cloud o per installare un’istanza MySQL, procedure che avvia guidando l’utente passo a passo.

L’uso per i privati è gratuito, mentre i prezzi delle versioni Team ed Enterprise non sono ancora noti, perché si tratta di pacchetti in fase di allestimento e che prevedono strumenti di collaborazione, sicurezza e conformità.

The.com

Si tratta di un prodotto curioso che genera automaticamente pagine web da inserire in siti già esistenti. L’idea di fondo è un po’ claudicante, The.com dichiara che vi sia una qualche correlazione tra numero di pagine e visibilità di un sito web – cosa questa sulla quale si può ampiamente discutere fuori dai principi canonici della legge delle probabilità – ma resta la capacità di fondo di creare post, pagine personalizzate per ogni utente di un servizio web o di aggiornare e pubblicare pagine “How to” o “FAQ”. Può essere testato per 15 giorni e le politiche di prezzo partono dai 1.500 dollari al mese (1.375 euro circa).

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2