Una settimana fa ho pubblicato il mio pensieri sul sistema di blocco dal punto di vista di uno sviluppatore. Fare un tuffo nel fine settimana-pomeriggio nella creazione di tipi di blocchi personalizzati significava imparare alcune lezioni difficili e familiarizzare con un linguaggio di programmazione che avevo poca esperienza nell’uso.
La programmazione è sempre stata per me una faccenda di tentativi ed errori: scrivere codice, aggiornare il browser, leggere il messaggio di errore e tentare di risolvere il problema. Quindi, risciacqua semplicemente e ripeti il processo fino a quando il programma non si interrompe. Questi errori sono intessuti nell’arte della codifica, gli strati sotto quella poesia sulla tela visibile.
Ho assolutamente fatto lo stesso errore due volte. E, tre volte. Probabilmente molto di più se sarò onesto con me stesso e te. Alla fine, smetto di commettere quegli stessi errori e qualche metodo o procedura è permanentemente impresso nel mio cervello.
Ho scritto alcune centinaia di tutorial WordPress negli ultimi quindici anni. Sono un autore di libri sullo sviluppo pubblicato due volte e ho lavorato come redattore tecnico in un altro. Tuttavia, non sono un gran lettore di libri tecnici e documentazione. Per uno, i programmatori non sono necessariamente gli scrittori più coinvolgenti. Più, libro intelligente può solo portarti così lontano. hai bisogno di intelligenza di strada della programmazione per diventare bravi, il che significa imparare dall’esperienza.
Anche se credo fermamente che la lettura sia una parte centrale di tutto ciò, non c’è alcun sostituto per sporcarsi le mani. Costruire cose, commettere errori e imparare a risolverli è ciò che rende divertente la programmazione.
Lavorare su software open source come WordPress è uno dei modi migliori per farlo. Non ci sono costi iniziali, supponendo che tu abbia accesso a un computer, un prerequisito per la programmazione di qualsiasi tipo. Di solito ci sono persone disposte a dare una mano o a rispondere a domande, e ci sono sempre problemi da risolvere per chi è pronto a tuffarsi in essi.
In qualità di Direttore Esecutivo di WordPress Josepha Haden Chomphosy ha chiacchierato con Matt Mullenweg sul Progetto Openverse un paio di mesi fa, c’è stato un momento in cui mi sono ritrovato ad annuire con la testa.
Perché, naturalmente, si sa, contribuire ed essere coinvolti con l’open source è probabilmente il modo migliore per imparare una tecnologia, meglio di qualsiasi laurea.
Matt Mullenweg, capo progetto WordPress
Ho imparato di più su WordPress, PHP, HTML, CSS e JavaScript contribuendo al software open source di quanto abbia mai imparato in un corso universitario.
Sono cresciuto in una generazione a cui era stato detto che dovevamo prendere una laurea. Era parte integrante del sogno americano che si sarebbe tradotto in una vita suburbana in un quartiere con file di case perfettamente allineate, che finissero in un cul-de-sac. Era il primo passo verso un garage per due auto, una staccionata bianca, 2,5 bambini e un cane. Il college era la promessa su cui io e i miei coetanei abbiamo fatto perno su tutto. Ci si aspettava da noi, e tanti di noi hanno fatto il nostro dovere.
Ecco la cosa che i nostri genitori non sapevano. Internet cambierebbe tutto.
Mi sono diplomato al liceo nel 2002. Questo è stato durante quel periodo in cui il mondo online stava esplodendo. Tutta la conoscenza del mondo sarebbe presto a portata di mano. Oggi è più vero che mai. Tutto ciò di cui avrai bisogno per imparare a scrivere codice è disponibile tramite una connessione Internet.
La mia esperienza con i corsi universitari di programmazione è stata mista, ma ho imparato da loro una lezione di vita necessaria: non ero tagliato per una laurea in ingegneria del software. Sono contento di essermi alzato presto e di aver conseguito una laurea diversa, risparmiando tempo e denaro.
Ho scosso la mia lezione di programmazione C di mezza estate, la mia introduzione alla scrittura di codice. Ho anche avuto un professore appassionato che una volta ha lavorato a progetti missilistici statunitensi come bug-tester. Probabilmente non era il lavoro più affascinante, ma lo faceva sempre sembrare eccitante perché amava quello che stava facendo. La nostra classe aveva il compito di costruire vari programmi durante il corso, ma di solito avevamo una scelta in ciò che stavamo costruendo. Per il progetto finale del mio gruppo, abbiamo creato un software per distributori automatici.
Ero sulla buona strada per diventare un ingegnere del software dopo quella prima lezione. Avevo costruito un modo per consentire ai commercianti di essere pagati per la consegna di dolcetti zuccherati e bibite ai clienti. Era il capitalismo che incontrava la programmazione, e io avevo un gusto per questo.
Il semestre autunnale è arrivato ed ero motivato ad andare oltre il regno della programmazione procedurale in C. Java, un linguaggio di programmazione orientato agli oggetti (OOP), sarebbe stata la mia prossima sfida.
La cosa più avanzata che la nostra classe ha costruito per un intero semestre è stata una calcolatrice di base. Ho saltato quasi tutte le lezioni perché non potevo restare sveglio a guardare il professore che si faceva strada tra i programmi per tre ore alla settimana. Ho frequentato i “laboratori” obbligatori – fondamentalmente un modo elegante per dire una classe extra in cui gli assistenti del professore avrebbero insegnato i corsi veri e propri.
Inutile dire che il mio fuoco si è spento. Sebbene i programmi per calcolatrici siano strumenti utili, volevo espandermi e costruire cose che contassero.
Sai cosa ha riacceso la mia fiamma per la programmazione? All’inizio, era lo sviluppo web generale. Ma WordPress era ciò di cui mi sono davvero appassionato. E non mi sono guardato indietro da quando ho iniziato a usarlo nel 2005.
WordPress era la mia porta in un mondo in cui potevo creare cose che mi interessavano. Potrei saltare avanti in un progetto molto più avanzato del mio livello di abilità, provare ed sbagliare la mia strada e alla fine costruire qualcosa in cui gli altri hanno trovato valore.
A meno che le università non siano cambiate, la maggior parte impartisce lezioni di base passo dopo passo ai propri studenti. Alcuni studenti possono avere fortuna e atterrare nella classe di quel professore unico che dà loro margine di manovra per esplorare varie idee. Tuttavia, non c’è alcun sostituto per creare qualcosa di tuo, risolvendo un problema che vedi.
E questo è ciò che riguarda la programmazione: risolvere i problemi.
Nel 2007, ho rilasciato il mio primo plugin per WordPress in libertà. Elenca automaticamente tutte le sottopagine della pagina attualmente visualizzata. Dozzine di plugin simili sono stati scritti da allora e probabilmente prima (sembra che WordPress avrebbe ormai una semplice funzione di “elenco delle sottopagine”).
La scorsa settimana, dopo aver scritto un nuovo plugin, mi sono ricordato dell’istruzione gratuita che la community di WordPress mi ha dato nel corso degli anni. Parte di esso ha letto la documentazione. Alcune risposte da WordPress Stack Exchange. Altri pezzi sono stati studiati da coloro che sono venuti prima di me, basandosi sul loro codice open source. Tutto proveniva da altre persone che hanno restituito qualcosa alla nostra comunità.
Questo non è necessariamente un colpo al college. Alcune persone si comportano meglio in quell’ambiente strutturato. Tuttavia, non si esclude l’esperienza che si ottiene contribuendo a qualcosa di più grande.
Se sei uno dei nostri lettori che sta pensando di iniziare a programmare, tuffati. Fai qualche errore. Costruire. Imparare.