Scrivere codice informatico è come scrivere in qualsiasi altra lingua. Ci sono delle norme di sintassi (o grammaticali) da osservare se vogliamo che il programma abbia senso e faccia ciò che vogliamo noi, ossia rispetti la semantica. Nel 2022, sono apparse delle IA generative che creano codice dai prompt; Chat-GPT ha consentito di farlo direttamente all’interno della propria interfaccia, mettendo i linguaggi Python o C sullo stesso piano del francese, dell’italiano o del giapponese.
Si è sviluppato molto rapidamente un dibattito: dal momento che le IA erano fantastiche nel produrre codice, era ancora necessario apprendere a farlo? Per i molti che non erano in grado di creare codice non vi era alcun dubbio e le assicurazioni del settore che l’IA poteva produrre codice di buona qualità erano sufficienti. Al temine del 2023, nel settore sono stati persi posti di lavoro a favore dell’adozione di soluzioni di IA, ma, nel complesso, i dirigenti esitano a sostituire i programmatori con l’IA. Rimangono vive le problematiche legate alle allucinazioni, ma, cosa ancora più importante, si è riscontrato velocemente che si può ottenere del buon codice soltanto se si è in grado di comporre i prompt corretti, o, in altre parole, di inserire specifiche corrette. Inoltre, dal momento che l’elaborazione di prompt non è univoca e richiede una sorta di dialogo è utile comprendere il linguaggio dell’interlocutore. E questa è un’abilità che di solito deriva da svariate ore di pratica nell’elaborazione di codice.
L’atteggiamento attuale sembra essere che se gli esseri umani non saranno necessariamente coloro che scriveranno i codici del futuro, sono necessarie persone che sappiano come produrre codice che interagiscano con l’intelligenza artificiale in modo che il codice funzioni.
Codice, tecnologia no code e low code
D’altro canto, se è necessario avere dei codificatori di vaglia per lavorare con l’IA su sistemi complessi, è necessario che chiunque arrivi a livelli elevati di competenza? La risposta è probabilmente no. Come accade spesso le cose non sono sempre bianche o nere, probabilmente si può prevedere un livello intermedio tra l’elaborazione di codice e la tecnologia no code, spesso denominato tecnologia low code.