Apprendere un linguaggio di programmazione

Questo è il mio raccoglitore di guide e tutorial su tutto quello che riguarda lo sviluppo web. È iniziato tutto con una breve trattazione sul PHP e col tempo ha queste dimensioni che vedete per via dei nuovi articoli che aggiungevo.

Ricordo che passavo il tempo al computer nel rastrellare la rete, ricopiare i testi più interessanti su un word processor, aggiungere il numero di pagine e fare una sorta di indice. Ho raccolto i tutorial in varie categorie e piazzato le linguette che potete vedere nella foto. Quella risma di carta si potrebbe adesso benissimo sostituire con alcuni libri specifici…

I tutorial sono immediati, soddisfano la sete di sapere con un rapida ricerca su internet. Può trovare materiale recentissimo, a costo zero e pronto alla lettura su schermo. Sei subito dopo pronto per esercitare e provare le tue conoscenze, imparare attraverso questa tecnica del trial-and-error che ti fa risparmiare tempo e denaro. Quindi sembra lecito domandarsi; perché comprare libri? non sono quasi sempre già vecchi alla stampa e molto costosi?

L’apprendimento tramite trial-and-error

Ho fatto fatica a padroneggiare cose semplici, leggevo e rileggevo i tutorial. Non ero stupido, le mie difficoltà erano legate al fatto di non avere delle buone basi. Durante le mie sessioni di programmazione chiedevo in chat cosa non andava nel mio codice, cercavo su google le stringhe di errore che ricevevo e rastrellavo php.net alla ricerca di soluzioni. Spesso durante la lettura di nuovi tutorial scoprivo caratteristiche del linguaggio a me ignote. Posso dire che è stato un apprendimento a suon di errori e richieste di aiuto.

Tutto questo dover navigare e chiedere consigli non è stato necessario quando ho studiato il C e dopo il C++ dai libri di testo. Quindi mi chiedo, perché non ho avuto gli stessi problemi di apprendimento incontrati con i tutorial?

Penso che la risposta risieda nel fatto che un libro offre un percorso formativo che ti aiuta a capire bene l’argomento, solitamente è scritto da un autore che non si improvvisa mentore, gli argomenti (si spera) sono connessi tra di loro ed affrontati in maniera più o meno completa.

Tengo in considerazione che il C e il C++ sono linguaggi standardizzati e consolidati, il PHP (come i CSS e l’HTML) sono in continua evoluzione per soddisfare le esigenze del mondo. Molto probabilmente un libro di C comprato nel 1985 è completo nei contenuti come un altro uscito uscito nel 2000. Questo non è applicabile con qualsiasi libro di PHP, perché appunto è un linguaggio che cambia rapidamente nel tempo.

La formazione di un libro

Prendere un libro che può sembrare già vecchio appena comprato non la trovo una idea maligna. Se si deve affrontare un argomento completamente nuovo, considero il libro come la scelta migliore per imparare. Offrono un percorso di apprendimento che l’approccio trial-and-error non può offrire. La presenza di esercizi a fine capitolo, appendici ed una scrittura coerente sono elementi importanti per l’apprendimento. A fine percorso vi ritroverete (si spera) capaci di comprendere bene la materia, qualità che si rivela utile nel tempo e che ti fa risparmiare frustrazioni davanti al codice che sembra non voler funzionare.

Il costo dei libri non è indifferente (sopratutto per uno studente come me), ci sono alcuni che hanno un prezzo spropositato. L’edizione in formato ebook costa qualche cosa in meno ma non aiuta a risparmiare a chi, come me, deve poi stampare tutto. Fortunatamente ci sono autori con una certa competenza che scrivono opere per poi rilasciarli gratuitamente su internet. Personalmente ho studiato C e CPP da TrickyC e Thinking in CPP e ringrazio gli autori che mi hanno permesso di apprendere questi linguaggi a costi cosଠirrisori.

Dopo aver finito quei libri, quando mi trovavo in difficoltà li consultavo sapendo cosa andare a cercare. Avere la consapevolezza di dove sbagliare è una qualità importante, anche in occasioni dove non avete il libro sottomano sapete esattamente cosa cercare su internet o chiedere in chat. Non incollate il codice su nopaste per poi passarlo in chat aspettando che qualche anima pia vi dica la soluzione…

La longevità di un libro dopotutto non è così breve, standard e linguaggi si basano su quello che loro stessi sono stati in passato. Conoscerli bene significa dover faticare meno per comprendere i cambiamenti che sono stati apportati. I libri consentono di formare delle solide basi utili agli apprendimenti futuri.

L’approccio del trial-and-error non consente questo, per la loro natura telegrafica e certe volte superficiale. Con questo non intendo essere generalista e denigrare ogni tutorial scritto, capita anche che interi siti o blog vengano impaginati e stampati per la creazione di un libro. Esistono degli ottimi redattori che scrivono articoli di tutto rispetto, è il metodo con cui si vuole apprendere che trovo errato.

La lettura di articoli, anche se di ottima qualità , la trovo buona per una piccola infarinatura, assaggiare l’argomento e magari per prendere poi un libro. Altre volte è utile per approfondire ed ampliare il proprio bagaglio di conoscenze, per aggiornarsi sugli sviluppi del tema trattato, non per basare una intera formazione.

I libri non sono tutti perfetti, ci sono edizioni da 100 pagine che pretendono di insegnare argomenti complessi o che sono scritti male. Il punto della questione non è sentenziare la vittoria dei libri rispetto ai tutorial, ma far capire che è necessario un buon percorso di apprendimento, contestualizzare l’utilizzo dei diversi tipi di testo per non metterli sullo stesso piano.

La valutazione di un libro

Visto che la scelta di un libro comporta che ci sia dopo una spesa da affrontare è doveroso sceglierlo bene. Molte case editrici offrono il download di alcuni capitoli di esempio e dell’indice (cosa che trovo inutile alla fine della valutazione), potete così leggere le informazioni messe in vetrina dall’editore. Il materiale messo cosଠa disposizione spesso è la cosa meglio scritta di tutto il libro, per evitare di farsi condizionare sarebbe meglio chiedere in prestito il libro in questione da una biblioteca o da un amico.

Questi non sono gli unici mezzi a disposizione di chi si trova nella situazione di dover scegliere; si può chiedere consiglio sui forum, newsgroup, o andare a leggere le opinioni su siti anobii e booshelf. Potete addirittura sfogliare la copia su google books o amazon. Gli strumenti per aiutare nella decisione ci sono tutti senza dover comprare il libro ad occhi chiusi.

In english please

Sapere l’inglese, e saperlo bene, è necessario per poter accedere alle migliori risorse. Potete attingere ad informazioni scritte dagli stessi autori delle tecnologie che volete apprendere. Non aspettare la traduzione di un libro, prenderlo in lingua madre e cominciate a leggerlo. Questo giova al vostro inglese e vi ripara da errori di traduzione.

Conclusioni

Ho avuto modo di imparare attraverso due metodi distinti, libri e tutorial. Sono due tipi di testi che offrono una formazione differente, è sbagliato mettere questa offerta formativa sullo stesso piano. Il prezzo di questo errore lo si ripaga con frustrazioni e perdite di tempo per stupidate. Sapere bene la materia è importante per lavorare bene e questa preparazione può dartela il libro.

L’articolo ben scritto è utile come punto di partenza o infarinatura, per aggiornamenti ed approfondimenti specifici. Per il resto è fondamentale affidarsi ad un buon libro per formare delle solide basi. Spero sempre di avere il tempo necessario per poter studiare bene un libro e non dover fare tutto di corsa, perché in fondo, capisco chi studia articoli perché non può dedicarsi ai libri…