Le mie origini?Un Olivetti Prodest PC128 a cassette. Ma il suo BASIC illustrato nel manuale a corredo non era OO. Qualcosina ho iniziato a vedere a scuola (ITIS indirizzo Informatica Industriale) con il Turbo Pascal 5.5, che conoscevo come le mie tasche, prendendo in prestito da quest'ultima il manuale originale della borland "Turbo Pascal 5.5 - Guida alla programmazione object-oriented" (anche perchè a scuola di oo non se ne parlava ed internet non si sapeva ancora cosa fosse
). Quasi simultaneamente procedevo sul mio Mac con il Think Pascal della Symantc (Object Pascal, decisamente più evoluto dell'object pascal del TP5.5, acquistato originale dopo una stagione di lavoro in campagna) anche lui dotato di un bel manuale in inglese per la programmazione oo. Lo studio è proceduto sul Think C++. Libri di testo (correvano gli anni '90) di Peter Coad OOA (analisi dei sistemi orientati agli oggetti), OOD (progettazione dei sistemi oriantati agli oggetti) e OOP (programmazione dei sistemi orientata agli oggetti) editi dalla ormai defunta Jackson Libri. Della Addison-Wesley acquistai "il linguaggio C++" di Bjarne Stroustrup e "teach yourself think C++ in 21 days"; il mio primo libro in lingua originale volontariamente acquistato. Si può anche leggere in 21 giorni ma senza capirci una mazza. Ovviamente non sono stati solo questi i libri fonte di sapere, ma posso affermare che questi sono quelli che hanno segnato la strada.
Io ho sempre vissuto lo scrivere software come il giocare con i mattoncini della Lego. Prima devi conoscere bene i costrutti del inguaggio (i mattoncini a tua dispsizione), quindi puoi-devi divertirti a legarli tra loro in molti modi differenti. E' importante all'inizio avere la possibilità di produrre software per gioco, in modo da potersi raffinare proprio come fanno i bambini che nel gioco raffinano le proprie capacità. Con il tempo, e tanti errori, le produzioni diverranno sempre più plastiche ed evolute permettendoti di fare assumere al tuo software le forme più svariate. Imparerai a riconoscere gli "inganni software" in cui si può cadere, e l'utilizzo di macro strutture, anch'esse sempre più raffinate dal tempo e dalla pratica, che tendi ad applicare per risolvere problemi ricorrenti. L'esperienza però non la puoi apprendere da nessun libro, la puoi maturare solo sul campo quando l'idea deve diventare software. Per lo meno io non mi sono imbattuato ancora in nessun libro capace di tanto. I libri dal canto loro ti instradano verso un certo modo di pensare portandoti ad evitare gli errori più banali fin da subito. Ora che ci penso è un po' alla MATRIX... i libri ti indicano la soglia ma sei tu che devi attraversarla e potrai farlo solo con l'esperienza.
Porca puzzola che profondità di pensiero...
Nota: Il PHP l'ho studiato in prima istanza (anno 2002) dal libro PHP&MySQL la guida della McGrawHill (non l'ho letto tutto ma solo ciò che mi interessava). da lì in poi ho sempre studiato direttamente la documentazione on line su php.net