ChatGPT vs Linguaggi di Programmazione Una Battaglia di Abilità nella Scrittura di Codice

Siamo consapevoli delle abilità di codifica di ChatGPT, ma come si comporterà in una sessione in cui vengono utilizzate una dozzina di lingue diverse? La risposta è sorprendentemente impressionante.

“`html

Ho utilizzato ChatGPT per scrivere lo stesso routine in 12 popolari linguaggi di programmazione. Ecco come si è comportato!

lang-1

Nell’ultimo anno, abbiamo tutti imparato che ChatGPT può scrivere codice. Gli ho fatto fare una serie di test in PHP e WordPress che hanno mostrato sia i punti di forza che i punti deboli delle capacità di scrittura di codice di ChatGPT. Ma quanto va avanti il sapere di programmazione di ChatGPT? Per questo articolo, ho lanciato l’assegnazione di programmazione classica del “Ciao, mondo” contro i dodici linguaggi più popolari nella classifica di popolarità di O’Reilly Media per il 2023.

Poiché “Ciao, mondo” può spesso essere scritto in una sola riga, ho aggiunto una piccola difficoltà, chiedendo a ChatGPT di presentare “Ciao, mondo” dieci volte, incrementando ogni volta 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à un’idea del flusso del programma e di alcune funzioni intrinseche, ma tiene comunque il codice sufficientemente piccolo da poter includere una dozzina di screenshot in questo articolo.

Il Promemoria

Scrivere un programma in ciascuno dei seguenti linguaggi elencati di seguito che produca “Buongiorno,” “Buon pomeriggio,” o “Buonasera” in base all’ora che è qui in Oregon, e poi produca dieci righe contenenti l’indice del loop (a cominciare da 1), uno spazio, e poi le parole “Ciao, mondo!”.

Per ciascun linguaggio di programmazione, ho anche chiesto a ChatGPT di descrivere il suo utilizzo principale. Ecco il promemoria che ho usato per questa query:

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

Ora, diamo un’occhiata ad ogni linguaggio.

1. Java

ChatGPT descrive Java come, “Un linguaggio generico utilizzato principalmente per la costruzione di applicazioni desktop, web e mobili, noto per la sua filosofia ‘scrivi una volta, esegui ovunque’.”

Java è stato originariamente sviluppato da Sun Microsystems, ma quando Oracle ha acquisito Sun, ha acquisito anche Java. Anche se le specifiche di Java sono aperte, il linguaggio è di proprietà di Oracle. Ciò ha portato a spettacolari fuochi d’artificio legali nel corso degli anni.

Ecco il codice di ChatGPT:

“`

[Java Code Screenshot]

2. Python

ChatGPT descrive Python come “Un linguaggio ad uso generale utilizzato per analisi dei dati, intelligenza artificiale, sviluppo web e automazione, e noto per la sua leggibilità e facilità d’uso.”

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

Ecco il codice di ChatGPT:

[Python Code Screenshot]

Here’s the HTML translated into Italian while preserving the original information of the src attribute in the tag unchanged:

3. Rust

ChatGPT descrive Rust come “un linguaggio di programmazione di sistema utilizzato per la costruzione di software ad alte prestazioni e affidabili, noto per le sue garanzie di sicurezza della memoria e della concorrenza”.

Ecco il codice di ChatGPT:

[Rust Code Screenshot]

4. Vai

ChatGPT descrive Go come “Un linguaggio di programmazione di sistema utilizzato per la costruzione di applicazioni di rete e server scalabili ed efficienti, noto per la sua semplicità e le funzionalità di concorrenza integrate.”

Go è open source, ma è gestito da Google. Go. Google. Capito?

Ecco il codice di ChatGPT:

[Go Code Screenshot]

5. C++

ChatGPT descrive C++ come, “Un linguaggio di programmazione di sistema utilizzato per la costruzione di sistemi operativi, motori di gioco e applicazioni ad alte prestazioni, noto per il suo controllo sull’hardware e sulla memoria.”

Ecco il codice di ChatGPT:

[C++ Code Screenshot]

6. JavaScript

ChatGPT descrive JavaScript come, “Un linguaggio di scripting lato client utilizzato per la creazione di applicazioni web interattive, noto per il suo ampio utilizzo nello sviluppo web e la sua capacità di funzionare nei browser web.”

Inoltre, insieme a CSS (uno dei principali linguaggi di design visivo del web), JavaScript è direttamente responsabile dell’87,45% delle volgarità che ho pronunciato negli ultimi nove anni circa.

Ecco il codice di ChatGPT:

[JavaScript Code Screenshot]

7. C

ChatGPT descrive C# come, “Un linguaggio generale usato per la costruzione di applicazioni desktop per Windows, giochi e applicazioni web, noto per le sue caratteristiche orientate agli oggetti e l’integrazione con il framework .NET.”

C# è un linguaggio proprietario offerto da Microsoft. L’ho insegnato all’estensione di UC Berkeley per più di un decennio. È un linguaggio gateway molto interessante per chiunque voglia lavorare nella programmazione per ambienti prevalentemente Microsoft.

Ecco il codice di ChatGPT:

[C# Code Screenshot]

“`html

8. C

ChatGPT descrive C come “Un linguaggio di programmazione di sistemi usato per la creazione di sistemi operativi, sistemi embedded e applicazioni ad alte prestazioni, noto per la sua efficienza e controllo a basso livello.”

Dicono che non si dimentica mai il tuo primo amore. Prima di imparare da solo 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 ad usare C e il mio mondo è cambiato. È stato amore. Qualcosa riguardo alla semplicità concisa del linguaggio mi ha semplicemente parlato a livello profondo e primordiale. Probabilmente è un po’ troppo personale, ma è anche vero. C sarà sempre il mio primo amore sintattico.

Ecco il codice di ChatGPT:

“`

[C Code Screenshot]

9. TypeScript

ChatGPT descrive TypeScript come, “Un sovrainsieme di JavaScript utilizzato per la costruzione di applicazioni web su larga scala, noto per la sua tipizzazione statica opzionale e le funzionalità avanzate del linguaggio.”

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

Ecco il codice di ChatGPT:

[TypeScript Code Screenshot]

10. R

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

Ecco il codice di ChatGPT:

[R Code Screenshot]

11. Kotlin

ChatGPT descrive Kotlin come, “Un linguaggio ad uso generale utilizzato per la creazione di 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:

[Kotlin Code Screenshot]

12. Scala

ChatGPT descrive Scala come, “Un linguaggio utilizzato per la costruzione di applicazioni scalabili e distribuite, noto per il suo supporto alla programmazione funzionale e la sua integrazione con la Java Virtual Machine”.

Ecco il codice di ChatGPT:

[Scala Code Screenshot]

“`html

Inoltre, notare l’output per Scala (mostrato sopra). Non ho mai programmato in Scala e non ne so molto. Apparentemente neanche ChatGPT, poiché mentre l’IA forniva colorazione della sintassi per tutti gli altri linguaggi, sembrava non avere quelle informazioni a portata di mano per Scala.

Pensieri Finali (e un Po’ di Forth)

Come appassionato di linguaggi informatici, ho trovato questo esercizio super divertente. Detto ciò, ci sono alcune cose da tenere a mente. Primo, non ho testato tutto il codice. Testare così tante uscite è al di fuori dello scopo di questo articolo. Detto ciò, ho letto il codice generato e, per la maggior parte dei linguaggi, il codice sembrava buono.

All’ultima esecuzione di questi test, quasi un anno fa, ChatGPT ha quasi colto tutto giusto (nonostante il disclaimer sopra). Tuttavia, quando gli è stato chiesto di renderizzare del codice in Forth (un linguaggio molto particolare, ma divertente), ha generato del codice che sembrava Forth ma etichettava la finestra come “Perl”. Sicuramente non ha generato Perl.

Tuttavia, stavolta ha generato sia Forth (i due punti sono il chiaro segnale) che l’ha etichettato in modo appropriato. Come con Scala sopra, ChatGPT non sembrava avere le tabelle di colorazione della sintassi per Forth, ma per il resto sembra che se la cavi bene.

Come con tutte le mie altre visite nel tunnel del coniglio con ChatGPT e la programmazione, sono impressionato, ma anche cauto. Le mie raccomandazioni restano: usalo come strumento, ma testa, testa e ancora testa.

Riferimenti:

Puoi seguire gli aggiornamenti giornalieri sui miei progetti sui social media. Assicurati di seguirmi su Twitter su [@DavidGewirtz](https://twitter.com/davidgewirtz), su Facebook su Facebook.com/DavidGewirtz, su Instagram su Instagram.com/DavidGewirtz, e su YouTube su YouTube.com/DavidGewirtzTV.


Ti è piaciuto questo articolo? Condividilo con i tuoi amici sui social media! Diffondiamo la conoscenza e divertiamoci con la programmazione! 🚀✨

“`