Come posso imparare a programmare con ChatGPT se devo ricominciare da capo?
Alla scoperta di ChatGPT nel mio percorso di programmazione lungo 15 anni: oltre il semplice copia e incolla
La programmazione fa parte della mia vita da quando avevo 10 anni. Dall'aver modificato il codice e il CSS per il mio profilo Friendster nei primi giorni di Internet, all'aver esplorato le iniezioni SQL per il gusto di farlo, alla costruzione di un robot a tre zampe per divertimento e, più di recente, all'aver iniziato a dedicarmi alla programmazione Python, il mio percorso di programmazione è stato vario e divertente!
Ecco cosa ho imparato dai diversi approcci di programmazione.

Il modo in cui imparo la programmazione è sempre lo stesso; Come si dice, si tratta per lo più di copiare e incollare. 😅
Ecco una panoramica del mio approccio nel campo della programmazione:
- Seleziona il framework o la libreria appropriata.
- Impara dai progetti precedenti
- Dividilo in passaggi
Suddividi il tuo progetto in fasi attuabili, rendendo lo sviluppo meno stressante. - Cerca ogni parte su Google.
Per ogni passaggio, consulta Google/Bing/DuckDuckGo/il motore di ricerca che preferisci per spunti, indicazioni e possibili soluzioni. - Inizia a programmare
Cercare di eseguire ogni passaggio in modo sistematico.
Tuttavia, anche il codice ben pensato può presentare degli errori. Ecco la mia strategia per la risoluzione dei problemi:
1. Controllare la documentazione del framework: Leggere sempre la documentazione!
2. Cerca su Google e Stack Overflow: Cerca su Google e Stack Overflow. Un esempio di parole chiave potrebbe essere:
sito:stackoverflow.com [linguaggio di programmazione] [libreria] Errore [messaggio di errore]
sito:stackoverflow.com Errore Python ImportError: pandas Modulo non trovato
- Soluzioni Stack OverflowSe il problema esiste già su Stack Overflow, cerco i commenti e le soluzioni più votati e spesso trovo una risposta rapida e affidabile. Questa piattaforma è un importante riferimento per gli sviluppatori per risolvere Errori di Python Rumor e la biblioteca di Panda.
- fidati del mio intuitoQuando Stack Overflow non ha una risposta, mi fido del mio istinto e cerco fonti affidabili su Google; GeeksForGeeks, Kaggle, W3School e Towards Science Data Per le cose del DS 😉
3. Copia e incolla il codice della soluzione.
4. Verifica e testIl passaggio finale consiste nell'esaminare e testare attentamente il codice modificato per assicurarsi che funzioni come previsto. In questo modo si garantisce che non vi sia alcuna verifica del codice e che il codice venga testato correttamente.
Hai risolto con successo il problema tecnico!

Non è meraviglioso?
Ma in realtà lo stiamo ancora facendo?!
Di recente ho notato un cambiamento nel modo in cui i nuovi programmatori si approcciano alla programmazione. Insegno programmazione a livello professionale da circa 3 anni, alternandomi tra coding bootcamp, lezioni tenute presso università e corsi di formazione aziendale. Il modo in cui i programmatori si avvicinano all'apprendimento della programmazione è cambiato un po', concentrandosi su Strumenti di intelligenza artificiale nella programmazione.
Di solito consiglio ai nuovi arrivati di attenersi al vecchio metodo di cercare le risposte su Google, ma alla fine la gente finisce comunque per usare ChatGPT. La loro scusa è
"Avere ChatGPT (per scopi di programmazione) è come avere un compagno di classe in più: ti parla come se fossi una persona normale."
È molto utile, soprattutto quando si sta ancora cercando di capire le cose dai risultati della ricerca e dai documenti, per sviluppare quello che viene chiamato "L'intuizione del programmatore".
Ora, non fraintendetemi, io sostengo le basi. Navigare, leggere documenti e porre domande nella community: questi sono, secondo me, passi importanti. Affidarsi esclusivamente a ChatGPT potrebbe risultare un po' eccessivo. Certo, può preparare un breve riassunto delle risposte, ma I metodi di navigazione tradizionali offrono la libertà di scegliere e sperimentare, il che è fondamentale nel mondo della programmazione.
Ma devo dare il giusto riconoscimento a chi lo merita: ChatGPT è estremamente veloce nel fornire risposte, soprattutto quando stai ancora cercando di capire cosa è giusto e cosa è sbagliato nei risultati di ricerca e nei documenti. ChatGPT è un potente strumento per accelerare l'apprendimento e scoprire soluzioni a problemi di programmazione complessi.
Mi rendo conto che questo passaggio all'uso di ChatGPT come partner di studio non riguarda solo il campo della programmazione. ChatGPT ha rivoluzionato il modo in cui le persone apprendono. Sto addirittura usando ChatGPT per correggere la grammatica di questo post, mi dispiace Grammarly.
Rifiutarsi di usare ChatGPT è come rifiutarsi di usare i motori di ricerca nei primi anni 2000.. Sebbene ChatGPT possa contenere errori e distorsioni, simili a motori di ricerca che contengono informazioni inaffidabili o truffe. Se utilizzato in modo appropriato, ChatGPT può accelerare il processo di apprendimento.
Immaginiamo ora uno scenario reale in cui ChatGPT potrebbe aiutarti diventando il tuo compagno di programmazione per aiutarti a eseguire il debug.
Scenario: debug dello script Python
Immagina di lavorare su uno script Python per un progetto e di imbatterti in un errore imprevisto che non riesci a risolvere. Si tratta di un problema comune nello sviluppo del software e richiede competenze di debug avanzate.
Ecco come ho imparato a fare il debug tanto tempo fa, prima dell'avvento di ChatGPT. Questi metodi classici sono ancora di grande valore per comprendere le basi del debug.
Metodologia di navigazione:
- Documentazione:
Per prima cosa, controlla la documentazione Python del modulo o della funzione che causa l'errore. La documentazione Python è un riferimento essenziale per comprendere il funzionamento dei diversi moduli e come utilizzarli correttamente, aiutandoti a identificare le cause degli errori e a risolverli in modo efficiente.
Per esempio:
- Visita https://scikit-learn.org/stable/modules/ Per la documentazione di Scikit Learn.
2. Cerca su Google e Stack Overflow:
Se la documentazione non fornisce una soluzione, puoi rivolgerti a Google e Stack Overflow. Esamina vari thread e discussioni del forum per trovare un problema simile e risolverlo. Queste risorse sono preziose per la risoluzione dei problemi nel campo dell'apprendimento automatico.

3. Fidati del tuo intuito:
Se il problema è unico o non ben documentato, fidati del tuo istinto! Puoi consultare articoli e fonti su Google che hai ritenuto affidabili in passato e provare ad adattare soluzioni simili al tuo problema. Questo approccio migliora le tue capacità di risoluzione dei problemi tecnici.
Come puoi vedere nel risultato della ricerca qui sopra, i risultati provengono da W3school (sito affidabile per l'apprendimento della programmazione, ottimo per barare) e gli altri due risultati sono la documentazione ufficiale di Pandas. Come puoi vedere, i motori di ricerca suggeriscono agli utenti di dare un'occhiata alla documentazione ufficiale. 😉
Ecco come puoi usare ChatGPT per aiutarti a risolvere un problema.
Un nuovo approccio con ChatGPT:
- Interagisci con ChatGPT nelle conversazioni:
Invece di limitarti a consultare documenti e forum, puoi interagire con ChatGPT in una conversazione dal vivo. Fornisci una breve descrizione dell'errore e poni la tua domanda. Ad esempio, puoi usare ChatGPT per ottenere aiuto immediato nella comprensione e nel debug degli errori di programmazione più comuni.
Ho un problema con lo script [linguaggio di programmazione] in cui [descrizione dell'errore]. Puoi aiutarmi a capire le possibili cause di questo errore e suggerirmi una possibile soluzione?

2. Chiarire i concetti utilizzando ChatGPT:
Se l'errore è correlato a un concetto che hai difficoltà a comprendere, puoi chiedere a ChatGPT di spiegartelo. Per esempio,
"Spiega come funziona [concetto specifico] in [linguaggio di programmazione]? Penso che possa essere correlato all'errore che ricevo. L'errore è: [errore]"

3. Chiedi consigli per la risoluzione dei problemi:
Puoi chiedere a ChatGPT consigli generali sulla risoluzione dei problemi dei programmi Python. Per esempio,
"Quali sono alcune strategie comuni per affrontare [problema]? Consigli su strumenti o tecniche?"

Potenziali benefici:
- Linee guida personalizzate: ChatGPT può fornire una guida personalizzata in base ai dettagli specifici forniti in merito all'errore e alla comprensione del problema. Questa funzionalità si basa sulle capacità del modello linguistico di grandi dimensioni (LLM) di ChatGPT per fornire assistenza personalizzata.
- Chiarimento dei concetti: È possibile richiedere spiegazioni e chiarimenti sui concetti direttamente da ChatGPT, sfruttando le capacità del suo modello linguistico di grandi dimensioni (LLM).
- Risoluzione efficiente dei problemi: ChatGPT può fornire suggerimenti concisi e pertinenti per la risoluzione dei problemi, che possono semplificare il processo di debug.
Potenziali limitazioni:
Ora parliamo degli svantaggi di affidarsi al 100% a ChatGPT. Ho notato spesso questi problemi nel percorso dei miei studenti che utilizzano ChatGPT. Nell'era post-ChatGPT, i miei studenti copiavano e incollavano il messaggio di errore di una riga dalla loro interfaccia a riga di comando, anche se l'errore era lungo 100 righe e riguardava solo pochi moduli e dipendenze. A volte può funzionare chiedere a ChatGPT di spiegare una soluzione alternativa fornendo un codice di errore su una sola riga o, peggio ancora, può richiedere un'ora o due di lavoro di debug manuale.
ChatGPT ha il limite di non poter visualizzare il contesto del codice. Certo, puoi sempre dare un contesto al tuo codice. Nel codice più complesso, potresti non essere in grado di fornire ogni riga di codice a ChatGPT. Il fatto che ChatGPT veda solo una piccola parte del tuo codice, ChatGPT o Si presume Il resto del codice si basa sulla sua base di conoscenza o allucinante.
Ecco le potenziali limitazioni dell'utilizzo di ChatGPT:
- Mancanza di interazione dinamica in tempo reale: Sebbene ChatGPT fornisca informazioni preziose, non offre l'interazione in tempo reale e lo scambio dinamico che i forum o i thread di discussione potrebbero offrire. Su StackOverflow, potresti avere 10 persone diverse che suggeriscono 3 soluzioni diverse che puoi confrontare tramite il fai da te (provalo) o guardando il numero di voti positivi.
- Basandosi sulle conoscenze pregresse: La qualità della risposta di ChatGPT dipende dalle informazioni su cui è stato addestrato e potrebbe non essere a conoscenza degli ultimi aggiornamenti del framework o dei dettagli specifici del tuo progetto.
- Potrebbe essere necessario più tempo per il debug: ChatGPT non ha contesto per il codice completo, quindi ciò potrebbe comportare più tempo per il debug.
- Comprensione limitata del concetto: I metodi di navigazione tradizionali offrono la libertà di scegliere e sperimentare un po', il che è fondamentale nel mondo della programmazione. Se sai come scegliere la fonte giusta, potresti imparare di più navigando autonomamente piuttosto che affidandoti a un modello ChatGPT generico.
A meno che non si chieda a un modello linguistico addestrato specializzato in concetti e tecnologie di programmazione, a documenti di ricerca su argomenti di programmazione, a lezioni popolari sul deep learning di Andrew Ng o a un tweet di Yann Le Cunn su X (ex Twitter), ChatGPT fornirà una risposta per lo più generica.
Questo scenario dimostra come ChatGPT può rivelarsi uno strumento prezioso nel tuo kit di programmazione, in particolare per una guida personalizzata e un chiarimento concettuale. Ricordatevi di bilanciare l'assistenza di ChatGPT con i metodi di navigazione e di chiedere alla community, tenendo conto dei suoi punti di forza e dei suoi limiti.
La linea di fondo
Consigliato per i programmatori: strumenti e risorse essenziali
Se vuoi davvero sfruttare il modello di completamento automatico, invece di usare solo ChatGPT, prova a usare le estensioni VScode per le attività di completamento automatico del codice come CodeGPT — Estensione GPT4 per VScode, O Copilota GitHubo strumenti di completamento automatico AI in Google Colab. Questi strumenti migliorano notevolmente la produttività degli sviluppatori.

Come puoi vedere nello screenshot qui sopra, Google Colab fornisce automaticamente all'utente suggerimenti per il codice successivo.
Un'altra alternativa è Github Copilot. Con GitHub Copilot puoi ottenere suggerimenti in tempo reale basati sull'intelligenza artificiale. GitHub Copilot suggerisce il completamento del codice durante la scrittura da parte degli sviluppatori e trasforma i prompt in suggerimenti di codifica basati sul contesto del progetto e sulle convenzioni di stile. Secondo questo Rilascio da GithubCopilot Chat è ora basato sul GPT-4 di OpenAI (un modello simile utilizzato da ChatGPT).

Prima di scoprire che Github Copilot era disponibile gratuitamente per gli utenti interessati ai tutorial, utilizzavo attivamente CodeGPT come estensione VSCode. CodeGPT Co ha ricevuto finora 2 milione di download nel VSCode Extension Marketplace. CodeGPT consente un'integrazione perfetta con l'API ChatGPT, Google PaLM XNUMX e Meta Llama.
È possibile ottenere suggerimenti sul codice tramite i commenti.Ecco come fare:
- Scrivi un commento richiedendo un codice specifico.
- Fare clic
cmd + shift + i - Usa il codice 😎

Puoi anche avviare una conversazione. Tramite l'estensione nel menu e vai alle conversazioni di codifica 💬

Quando ripenso al mio percorso di programmazione, la lezione più importante che ho imparato è che non esiste un metodo di apprendimento universale. È fondamentale adottare metodi di apprendimento diversificati, combinando pratiche tradizionali come la navigazione e l'interazione con la comunità con le capacità innovative di strumenti come ChatGPT e strumenti di completamento automatico del codice.
Cosa fare:
- Beneficia di risorse di apprendimento personalizzate: Sfrutta al massimo i consigli sul materiale didattico di ChatGPT e usalo come strumento chiave nel tuo percorso di apprendimento.
- Collaborare per risolvere i problemi: Utilizza ChatGPT come un partner collaborativo, proprio come se stessi programmando con i tuoi amici, migliorando la tua capacità di affrontare efficacemente le sfide della programmazione.
Cose da evitare:
- Eccessiva dipendenza da ChatGPT: Evita di affidarti completamente a ChatGPT e adotta un approccio equilibrato per sviluppare capacità di risoluzione autonoma dei problemi. Sebbene ChatGPT sia uno strumento potente per comprendere le strutture del codice e generare idee, affidarsi esclusivamente a esso può ostacolare lo sviluppo di capacità di pensiero critico e analitico, essenziali per diventare uno sviluppatore competente.
- Trascurare l'interazione diretta con la comunità di programmazione: Anche se ChatGPT fornisce spunti preziosi, non bisogna trascurare i vantaggi dell'interazione diretta e del feedback delle community di programmazione. Ciò contribuisce anche a costruire una buona reputazione nella comunità. Interagire con altri programmatori ti offre l'opportunità di imparare dalle loro esperienze, scambiare conoscenze e acquisire prospettive diverse sulle sfide che devi affrontare.
- Ignora la pratica di programmazione: Bilanciare la guida ChatGPT con la programmazione pratica per arricchire le conoscenze teoriche con l'applicazione pratica. L'applicazione pratica è la chiave per trasformare i concetti teorici in competenze pratiche. Prova a scrivere il codice da solo, sperimentando diverse soluzioni ed eseguendo il debug. Ciò ti aiuterà a consolidare la tua comprensione dei concetti e a sviluppare le tue capacità di risoluzione dei problemi.
Raccontami nei commenti come usi ChatGPT per aiutarti con la programmazione!
Buona programmazione!
I commenti sono chiusi.