Crea sito

Programmare facile? Si può!

Diciamoci la verità, quanti di voi ammirano quella gente che riesce a scrivere i programmi che usate? Gente che macina righe e righe di codice incomprensibile e che riesce a fare magie. Ma è davvero così difficile? Oppure programmare facile è davvero possibile? Seguitemi e lo scoprirete!

 

Ma dove sta il problema?

Ho insegnato programmazione per qualche tempo a ragazzini delle superiori, da disoccupato due ripetizioni non fanno mai male! Le frasi più sentite erano “Io studio studio ma poi non so cosa scrivere” oppure “La teoria la so a memoria, ma poi davanti allo schermo è tabula rasa” e molte altre simili. Mi sono chiesto allora “Ma dove cavolo è il problema? Tutti uguali e nessuno che riesce a scrivere una riga di codice, neppure basilare”. Ho analizzato i programmi dei corsi e come insegnano a scuola. E ho trovato quasi ovunque, persino a Fisica dove ho seguito dei corsi, una costante: quasi tutti insegnano la sintassi, raramente algoritmi standard, ma quasi nessuno insegna davvero cosa sia la programmazione. A parte casi eccezionali e illuminati,

Ok, hai ragione. E quindi come posso imparare?

Programmare in realtà è una cosa semplicissima. Tutti sappiamo programmare. E lo sappiamo già fare! Semplicemente nessuno se ne rende conto perché nessuno glielo dice. L’ho sempre detto ai ragazzi a cui insegnavo: per programmare servono 4 cazzate, 7 fronzoli e il resto sono abbellimenti.

Non possiamo insegnare a nessuno quello che non sappiamo. Il problema è che il computer non parla la nostra lingua. Dobbiamo quindi tradurre quello che vogliamo insegnare in un linguaggio che il computer capisca.

Sembra facile? Ma un esempio?

Vi posso assicurare che è più semplice nei fatti che a parole. Volete un esempio? Poniamo che dobbiate spiegare come si arriva in un posto ad uno straniero che non è mai stato nella vostra città. Se non sapete arrivare in quel posto non potete spiegarlo. Appurato che sappiate la strada dovete spiegarla nel modo più semplice basilare possibile, senza saltare incroci, bivi, semafori o punti importanti. A questo punto avete la traccia di quello che volete spiegare. Dovete tradurla e dirla in una lingua che il vostro amico capisca. Inglese? Francese? Aramaico? Vedete voi, l’importante è che vi capiate e vi facciate capire.

Ma è davvero così semplice?

Vi sembra difficile? Il segreto è scomporre quello che volete insegnare nelle sue parti più semplici. Un esempio ancora più semplice? Facciamone uno matematico: Poniamo che vogliate risolvere un’equazione di primo grado del tipo a*x+b=0, qualcosa tipo 2*x+3=0. Se vi ricordate qualcosa della scuola il risultato è x=-b/a, nel nostro caso x=-3/2. Non possiamo però dire direttamente al computer “Calcolami le equazioni di primo grado”, il suo schermo non cambierebbe nemmeno espressione. Dobbiamo insegnargli tutti i passaggi:

  1. Prendi a
  2. Prendi b
  3. Se a è 0 allora l’equazione è impossibile
  4. Se b è 0 e a non è 0 allora x è 0
  5. Se b e a sono diversi da 0 allora è -b/a
  6. Fammi vedere x

Questi sono i passaggi elementari per risolvere un’equazione di primo grado. Volete spiegarlo ad un inglese? Diventa semplicemente

  1. Take a
  2. Take b
  3. If a is 0 then the equation is impossible
  4. If b is 0 and a is not 0 then x is 0
  5. If b and a ar not 0 then x is -b/a
  6. Let me see x

Volete tradurlo in Python? Eccovelo

Addirittura gli ultimi due if si potevano accorpare, ma queste sono questioni stilistiche.

La cosa vi sembra meno nebulosa? Vi sta intrigando la programmazione? Allora provate a spezzettare altre cose nei loro passaggi più semplici. Se conoscete qualche lingua provate a tradurlo. E ci vediamo alla prossima lezione. A proposito, essendo la traduzione una cosa puramente meccanica, almeno in questo stadio vedremo poco codice e molte parole di uso comune. È molto più importante imparare a pensare che imparare subito a tradurre!

,

Powered by WordPress. Designed by WooThemes