Christian Schaller, a capo del Fedora Desktop Team e del gruppo per lo sviluppo dei sistemi desktop in Red Hat, ha pubblicato i risultati di una valutazione sull'idoneità delle grandi lingue modelli nel processo di sviluppo di applicazioni grafiche per Linux. Come esperimento, ha utilizzato l'assistente AI Claude per portare l'obsoleto applicativo grafico Xtraceroute su tecnologie attuali.
L'applicazione Xtraceroute, che visualizza il percorso dei pacchetti di rete su un globo 3D, è stata originariamente scritta utilizzando GTK1 e OpenGL, ed era pronta per essere portata su GTK2 nei primi anni 2000, dopo di che non è stata aggiornata per 20 anni. Grazie all'assistente AI, a Christian sono servite circa cinque ore per portare l'applicazione su GTK4 e sull'API grafica Vulkan.
Era:

Diventato:

Successivamente, Christian ha utilizzato l'AI per creare un nuovo applicativo basato sul porto preparato, che mostra la posizione degli uffici di Red Hat sul globo e presenta notizie aziendali nella parte inferiore della finestra. Christian ha anche proposto di utilizzare l'AI per automatizzare il controllo dei plugin di GNOME Shell e la generazione di patch considerando le modifiche apportate nelle nuove versioni di GNOME Shell.

Secondo Christian, nella comunità c'è uno scetticismo e un atteggiamento negativo verso l'uso dell'AI, e con l'esperimento voleva dimostrare ad altri sviluppatori di software libero che non bisogna ignorare le opportunità che l'AI offre per semplificare il processo di sviluppo. Ad esempio, l'AI risparmia tempo, eliminando la necessità di analizzare la documentazione delle API, seguire le modifiche nelle API e trovare le chiamate corrette, oltre a semplificare notevolmente la scrittura dei test.
Tuttavia, l'AI è vista come uno strumento che aiuta nello sviluppo, ma non solleva dalla responsabilità per il codice aggiunto e richiede verifica e controllo qualità. Come esempio, è stata mostrata un tentativo di generare codice per incorporare il supporto per la visualizzazione dei documenti PDF nell'applicazione. L'AI ha proposto codice che utilizzava il motore di rendering del browser WebKit, che funzionava, ma aggiungeva una enorme nuova dipendenza. Dopo aver precisato la questione, l'AI ha fornito codice che utilizzava una libreria compatta, libpoppler, per il rendering dei PDF.
Attualmente, i principali assistenti AI operano come servizi online esterni, il che solleva preoccupazioni legate a sicurezza e privacy. Per affrontare questo problema, Red Hat sta sviluppando il proprio strumento di generazione di codice Granite.code basato su un grande modello linguistico open source, Granite, che consente di eseguire un modello AI sul computer dello sviluppatore. Questo progetto è ancora indietro rispetto a sistemi come Claude, Gemini e ChatGPT, ma risolve il problema della trasmissione dei dati a terzi ed elimina la dipendenza dai processi lavorativi da servizi esterni.
Fonte: opennet.ru
