Penso che tu abbia imparato una lingua quando non la vedi. Non vedi i cicli e gli accessi ai dati, ma il flusso di lavoro dell'algoritmo.
Non giochi trucchi con il passaggio dei parametri e l'elaborazione degli array, i macro magici. Non pensi al tuo codice come a un materiale di marketing personale da mostrare ai tuoi amici e insegnanti, ma per esprimere la tua comprensione di un problema e la tua volontà per il computer il modo più leggibile.
Hai delle abitudini che ti aiutano a evitare molti errori semplicemente seguendoli, ad esempio: usa {} blocchi di codice e () nelle espressioni anche se sei assolutamente sicuro che "sarà solo una riga" o "Io non sono pazzo e conosci l'ordine di precedenza degli operatori ".
Smetti di contare quante classi, pattern e API framework conosci. Questo è ciò che intellisense, i riferimenti e le esercitazioni, e il Google è per. Ma quando guardi un problema, sai immediatamente quali parti possono essere suddivise e con quali strumenti e algoritmi risolverli.
Cosa fai funziona , è elegante e piccolo . Ti piace programmare e trovare facilmente i tuoi bug. Sì, i maestri creano bug anche perché sono umani, ma li trovano rapidamente perché la loro struttura di codice li conduce nel posto giusto.
E finalmente realizza: hai imparato a pensare, analizzare e risolvere i problemi; rispetto a loro, la lingua attuale è secondaria, solo la casella corrente di regole e strumenti.