Ricerca nel sito web

Se ChatGPT produce codice generato dall'intelligenza artificiale per la tua app, a chi appartiene veramente?


ChatGPT è noto per le sue capacità di codifica, ma come se la caverà quando verranno lanciate una dozzina di lingue in una sessione? La risposta: davvero buona.

Nell'ultimo anno, siamo tutti venuti a sapere che ChatGPT può scrivere codice. Ho effettuato una serie di test in PHP e WordPress che hanno mostrato i punti di forza e di debolezza delle capacità di codifica di ChatGPT.

Ma fino a che punto si estende la conoscenza della codifica di ChatGPT? Quando ho redatto questo articolo originariamente all'inizio del 2023, ho lanciato il classico incarico di programmazione "Hello, world" contro le 12 lingue più popolari nelle classifiche di popolarità di O'Reilly Media per il 2023.

Successivamente abbiamo effettuato molte analisi sulla popolarità dei linguaggi di programmazione, ma anche con questo aggiornamento di fine 2024, rimango fedele ai 12 linguaggi originali che abbiamo testato. Sebbene alcune delle nostre 12 non siano lingue molto popolari, sono ancora attuali e in uso. Questa selezione ci offre un ottimo spaccato per aiutarci a capire meglio quanto bene ChatGPT gestisca un'ampia gamma di lingue.

Poiché "Ciao, mondo" può spesso essere codificato in una riga, ho aggiunto una leggera differenza, facendo in modo che ChatGPT presenti "Ciao, mondo" dieci volte, ogni volta incrementando un valore del contatore. Gli ho anche chiesto di controllare l'ora e di iniziare ogni sequenza con "Buongiorno", "Buon pomeriggio" o "Buonasera".

Questo ci dà uno sguardo al flusso del programma e anche ad alcune funzioni intrinseche, ma mantiene comunque il codice abbastanza piccolo da poter includere una dozzina di screenshot in questo articolo.

Ecco la richiesta:

Scrivere un programma in ____ che emetta "Buongiorno", "Buon pomeriggio" o "Buonasera" in base all'ora che è qui in Oregon, e quindi emetta dieci righe contenenti l'indice del ciclo (iniziando con 1), uno spazio, e poi le parole "Ciao mondo!".

Per ogni linguaggio di programmazione ho anche chiesto a ChatGPT di descriverne l'utilizzo principale. Ecco il prompt che ho utilizzato per questa query:

Per ciascuno dei seguenti linguaggi, scrivi una descrizione di una frase del suo utilizzo principale e del fattore di differenziazione: Java, Python, Rust, Go, C++, JavaScript, C#, C, TypeScript, R, Kotlin, Scala.

Ora, diamo un'occhiata a ciascuna lingua.

1. Giava

ChatGPT descrive Java come "Un linguaggio generico utilizzato principalmente per la creazione di applicazioni desktop, Web e mobili e noto per la sua filosofia "scrivi una volta, esegui ovunque".

Java è stato originariamente sviluppato da Sun Microsystems, ma quando Oracle ha acquistato Sun, ha acquistato anche Java. Sebbene le specifiche Java siano aperte, il linguaggio è di proprietà di Oracle. Ciò ha portato ad alcuni spettacolari fuochi d’artificio legali nel corso degli anni.

Ecco il codice di ChatGPT:

2. Pitone

ChatGPT descrive Python come "Un linguaggio generico utilizzato per l'analisi dei dati, l'intelligenza artificiale, lo sviluppo web e l'automazione e noto per la sua leggibilità e facilità d'uso".

Il mio consiglio: se hai intenzione di imparare a programmare per applicazioni AI, impara Python. Quasi tutto il codice AI ha una stretta integrazione con Python.

Ecco il codice di ChatGPT:

3. Ruggine

ChatGPT descrive Rust come "Un linguaggio di programmazione di sistema utilizzato per creare software affidabile e ad alte prestazioni e noto per le sue garanzie di sicurezza della memoria e sicurezza dei thread".

Ecco il codice di ChatGPT:

4. Vai

ChatGPT descrive Go come "Un linguaggio di programmazione di sistema utilizzato per creare applicazioni di rete e server scalabili ed efficienti e noto per la sua semplicità e funzionalità di concorrenza integrate".

Go è open source, ma è gestito da Google. Andare. Google. Prendilo?

Ecco il codice di ChatGPT:

5.C++

ChatGPT descrive C++ come "Un linguaggio di programmazione di sistema utilizzato per creare sistemi operativi, motori di gioco e applicazioni ad alte prestazioni e noto per il suo controllo su hardware e memoria".

Ecco il codice di ChatGPT:

6.JavaScript

ChatGPT descrive JavaScript come "Un linguaggio di scripting lato client utilizzato per creare applicazioni Web interattive e noto per il suo uso diffuso nello sviluppo Web e per la sua capacità di essere eseguito nei browser Web".

Inoltre, insieme ai CSS (uno dei principali linguaggi di progettazione visiva del web), JavaScript è responsabile dell'87,45% delle parolacce che ho pronunciato negli ultimi nove anni circa.

Ecco il codice di ChatGPT:

7. C#

ChatGPT descrive C# come "Un linguaggio generico utilizzato per creare applicazioni desktop, giochi e applicazioni Web Windows e noto per le sue funzionalità orientate agli oggetti e l'integrazione con il framework .NET".

C# è un linguaggio proprietario offerto da Microsoft. L'ho insegnato all'estensione dell'UC Berkeley per più di un decennio. È un linguaggio gateway molto interessante per chiunque desideri lavorare programmando prevalentemente per ambienti Microsoft.

Ecco il codice di ChatGPT:

8.C

ChatGPT descrive C come "Un linguaggio di programmazione di sistema utilizzato per creare sistemi operativi, sistemi embedded e applicazioni ad alte prestazioni, noto per la sua efficienza e il controllo di basso livello".

Dicono che non si dimentica mai il primo amore. Prima di imparare a programmare in C ai tempi delle navi di legno e dei programmatori di ferro, non ho mai veramente amato un linguaggio di programmazione. Ma poi ho iniziato a usare il C e il mio mondo è cambiato. Era amore. Qualcosa nella concisa semplicità del linguaggio mi ha parlato a un livello profondo e primordiale. Probabilmente è una condivisione eccessiva, ma è anche vero. Il C sarà sempre il mio primo amore sintattico.

Ecco il codice di ChatGPT:

9. Dattiloscritto

ChatGPT descrive TypeScript come "Un superset di JavaScript utilizzato per creare applicazioni Web su larga scala e noto per la tipizzazione statica opzionale e le funzionalità linguistiche avanzate".

Anche TypeScript è un prodotto Microsoft, ma a differenza di C#, è open source e non proprietario.

Ecco il codice di ChatGPT:

10.R

ChatGPT descrive R come "Un linguaggio utilizzato per il calcolo statistico e l'analisi dei dati e noto per le sue potenti capacità di manipolazione e visualizzazione dei dati".

Ecco il codice di ChatGPT:

11. Kotlin

ChatGPT descrive Kotlin come "Un linguaggio generico utilizzato per creare app Android, applicazioni lato server e applicazioni web, noto per la sua concisione e interoperabilità con Java".

Kotlin è stato sviluppato da JetBrains, una piccola azienda che produce anche PhpStorm, il mio attuale ambiente di sviluppo preferito.

Ecco il codice di ChatGPT:

12. Scala

ChatGPT descrive Scala come "Un linguaggio utilizzato per creare applicazioni scalabili e distribuite e noto per il suo supporto per la programmazione funzionale e la sua integrazione con Java Virtual Machine".

Ecco il codice di ChatGPT:

Inoltre, notate l'output per Scala (mostrato sopra). Non ho mai programmato in Scala e non ne so molto. Nemmeno ChatGPT, perché mentre l'intelligenza artificiale forniva la colorazione della sintassi per tutti gli altri linguaggi, non sembrava avere tali informazioni per Scala.

Considerazioni finali (e un po' di avanti)

Essendo un fanatico dei linguaggi informatici, ho trovato questo esercizio super divertente. Detto questo, ci sono alcune cose da tenere a mente. Innanzitutto, non ho testato tutto il codice. Testare così tanti output non rientra nell'ambito di questo articolo. Detto questo, ho letto il codice generato e, per la maggior parte dei linguaggi, il codice sembrava buono.

L'ultima volta che ho eseguito questi test, quasi un anno fa, ChatGPT ha funzionato quasi tutto correttamente (nonostante il disclaimer di cui sopra). Tuttavia, quando gli è stato chiesto di eseguire il rendering del codice in Forth (un linguaggio molto originale ma divertente), ha generato un codice che assomigliava a Forth ma etichettava la finestra "Perl". Sicuramente non ha generato Perl.

Tuttavia, questa volta, ha generato Forth (i due punti sono un chiaro indizio) e lo ha etichettato in modo appropriato. Come Scala sopra, ChatGPT non sembra avere le tabelle di colorazione della sintassi per Forth, ma per il resto sembra funzionare bene.

Come per tutte le mie altre visite nella tana del coniglio con ChatGPT e la codifica, sono impressionato ma anche diffidente. I miei consigli sono validi: usatelo come strumento, ma testate, testate e testate.

Articoli correlati