2024-09-08

Miti tech da sfatare: cosa pensa la gente della programmazione e perché si sbaglia

Un post ironico e adatto ai principianti che sfata i miti più comuni sulla programmazione: dal dover essere geni della matematica all’idea che i veri sviluppatori non facciano mai errori.

Miti tech da sfatare: cosa pensa la gente della programmazione e perché si sbaglia

La programmazione ha una reputazione.

Una reputazione strana.

Alcune persone immaginano i programmatori come misteriosi maghi della tastiera seduti in stanze buie, che scrivono a velocità impossibile, bevono caffè da tazze sospettosamente grandi e hackerano satelliti prima di colazione.

Hollywood non ha aiutato.

Secondo i film, programmare assomiglia a questo:

“Migliora l’immagine. Inverti il firewall. Hackeriamo il mainframe. Abbiamo 12 secondi.”

La programmazione reale di solito assomiglia di più a questo:

“Perché questo pulsante è 3 pixel troppo in basso?”

E poi passi 45 minuti a scoprire che hai dimenticato un tag di chiusura.

Bellissimo.

Doloroso.

Educativo.

Se sei nuovo nella programmazione, probabilmente hai già sentito molti miti. Alcuni fanno paura. Alcuni sembrano impressionanti. Alcuni sembrano inventati da persone che hanno visto un terminale una volta e hanno chiuso subito il laptop.

Quindi sfatiamone qualcuno.

Perché programmare non è magia.

Non è solo per geni.

E no, non ti serve un supercomputer, un dottorato o la capacità di parlare fluentemente in binario mentre dormi.

Ti servono curiosità, pazienza e il coraggio di leggere i messaggi di errore senza prenderli sul personale.

Più o meno.


Mito 1: devi essere un genio della matematica

Questo è probabilmente uno dei miti più comuni.

La gente sente “programmazione” e immagina subito matematica avanzata, equazioni che volano sullo schermo e qualcuno che sussurra:

“Solo i prescelti dal calcolo differenziale possono entrare.”

No.

Per la maggior parte della programmazione quotidiana, non devi essere un genio della matematica.

Ti serve logica.

Ti serve problem solving.

Ti serve capire operazioni di base come:

let total = price * quantity;

Questa non è magia oscura.

È fare la spesa con le variabili.

Certo, alcune aree della programmazione usano molta matematica.

Motori grafici, videogiochi, machine learning, crittografia, simulazioni — sì, lì la matematica diventa più importante.

Ma se stai creando siti web, automatizzando attività, scrivendo API backend, creando form, lavorando con database o imparando il tuo primo linguaggio di programmazione, puoi iniziare senza essere il migliore amico del calcolo avanzato.

La maggior parte dei principianti deve capire cose come:

  • variabili,
  • condizioni,
  • cicli,
  • funzioni,
  • array,
  • oggetti,
  • e perché true non è uguale a "true".

Quest’ultima cosa farà male almeno una volta.

Realtà

Non devi essere un genio della matematica per iniziare a programmare.

Devi essere disposto a pensare passo dopo passo.

E ogni tanto contare da zero, perché i programmatori hanno guardato il modo normale di contare e hanno detto:

“Troppo facile. Facciamo soffrire un po’ i principianti.”


Mito 2: ti serve un computer costoso

Altro mito classico:

“Non posso imparare a programmare perché non ho un computer potente.”

Rilassati.

Stai imparando a scrivere codice, non a lanciare un satellite meteorologico dalla cucina.

Per iniziare a programmare, quasi qualsiasi laptop funzionante va bene.

Se il tuo computer riesce ad aprire un browser, eseguire un editor di testo e non crollare drammaticamente ogni volta che premi Invio, puoi iniziare.

Non ti servono:

  • 64 core CPU,
  • 128 GB di RAM,
  • luci RGB lampeggianti,
  • un tower raffreddato a liquido,
  • o una macchina che sembra pronta al decollo.

Puoi imparare HTML, CSS, JavaScript, Python, Git, basi di Linux, database e molte altre cose su un laptop modesto.

Sì, alcune attività richiedono più potenza.

Eseguire più macchine virtuali, grandi setup Docker, emulatori mobile, video editing, rendering 3D, machine learning — lì il computer può soffrire.

Ma per imparare a programmare?

Un computer normale basta.

Molti sviluppatori hanno iniziato su vecchie macchine che sembravano stanche, ma funzionavano ancora.

A volte un computer più debole ti insegna anche buone abitudini.

Impari a evitare il bloat inutile.

Impari a chiudere le schede.

Impari che aprire 47 schede del browser non è una personalità.

È una richiesta di aiuto.

Realtà

Inizia con il computer che hai.

Non aspettare il setup perfetto.

Il setup perfetto spesso è solo procrastinazione con una bella tastiera.


Mito 3: programmare è noioso

Alcune persone immaginano la programmazione come fissare infinite righe di testo mentre si perde lentamente la voglia di vivere.

E sì, certo codice può sembrare così.

Specialmente il codice legacy.

Il codice legacy è codice scritto da qualcun altro, molto tempo fa, in circostanze misteriose, forse durante un temporale.

Ma programmare in sé non è noioso.

Programmare è risolvere problemi.

È costruire cose.

È far funzionare un pulsante.

È creare un sito web.

È automatizzare qualcosa di fastidioso.

È scrivere uno script che ti fa risparmiare 30 minuti e poi passare 3 ore a migliorarlo perché ormai è diventata una questione personale.

Programmare può essere frustrante.

Assolutamente.

Ma è anche soddisfacente.

Poche cose danno più soddisfazione del risolvere finalmente un bug dopo aver cercato, testato, dubitato delle proprie scelte di vita e poi scoperto che il problema era un typo.

Un piccolo typo.

Un villain microscopico.

Programmare è come risolvere puzzle in cui il puzzle ogni tanto risponde male.

Non è noioso.

È caos con struttura.

Realtà

La programmazione diventa interessante quando costruisci qualcosa che conta per te.

Un sito personale.

Un piccolo gioco.

Uno script per il lavoro.

Un blog.

Una dashboard.

Uno strumento che risolve un problema reale.

La parte noiosa di solito non è programmare.

La parte noiosa è seguire tutorial senza costruire nulla di tuo.

Quindi costruisci.

Rompi.

Sistema.

Ripeti.

È lì che inizia il divertimento.


Mito 4: devi conoscere tutti i linguaggi di programmazione

Alcuni principianti guardano il mondo della programmazione e vanno nel panico.

C’è Python.

JavaScript.

TypeScript.

Java.

C.

C++.

C#.

Rust.

Go.

PHP.

Ruby.

SQL.

Bash.

E poi qualcuno appare dall’ombra e dice:

“Hai provato Haskell?”

Non sorprende che i principianti si sentano sopraffatti.

Ma ecco la verità:

Non devi conoscere tutti i linguaggi di programmazione.

Nessuno li conosce tutti.

E se qualcuno dice di conoscere tutti i linguaggi, chiedigli di spiegare i puntatori in C mantenendo il contatto visivo.

La stanza diventerà molto onesta molto velocemente.

La strategia migliore è semplice:

Scegli un linguaggio.

Impara bene le basi.

Costruisci piccoli progetti.

Poi espandi.

Quando capisci i concetti della programmazione, imparare un altro linguaggio diventa più facile perché molte idee si ripetono:

  • variabili,
  • funzioni,
  • condizioni,
  • cicli,
  • strutture dati,
  • errori,
  • moduli,
  • input e output.

La sintassi cambia.

Il modo di pensare resta simile.

Imparare il primo linguaggio di programmazione è come imparare a guidare.

Dopo, cambiare macchina è più facile.

Alcune auto sono automatiche.

Alcune sono manuali.

Alcune sono Java e ti chiedono di scrivere 12 righe prima che succeda qualcosa.

Ma la strada ha più senso.

Realtà

Inizia con un linguaggio.

Buone scelte per principianti includono:

  • Python se vuoi qualcosa di leggibile e amichevole,
  • JavaScript se vuoi creare siti web,
  • TypeScript se conosci già JavaScript e vuoi più struttura,
  • Java se vuoi solide basi backend,
  • C se vuoi capire i computer più vicino al metallo.

Non collezionare linguaggi come trofei.

Imparane uno abbastanza bene da costruire qualcosa.

Questo vale molto di più.


Mito 5: programmare è solo per geni

Questo mito deve sparire.

La programmazione non è solo per geni.

La programmazione è per persone disposte a imparare, praticare, fallire, cercare, riprovare e migliorare lentamente.

La maggior parte dei programmatori non sono supercomputer ambulanti.

Sono persone normali che hanno imparato a dividere i problemi in parti più piccole.

E cercano online continuamente.

Non è un segreto.

Una grande parte della programmazione è sapere come fare la domanda giusta.

A volte la cosa più professionale che uno sviluppatore fa in tutta la giornata è copiare un messaggio di errore in un motore di ricerca con l’energia emotiva di qualcuno che chiede soccorso.

E va bene così.

Programmare non significa sapere tutto.

Significa sapere come capire le cose.

Non devi nascere con un “cervello da sviluppatore” speciale.

Lo costruisci con la pratica.

All’inizio tutto sembra strano.

Poi compaiono i pattern.

Poi inizi a riconoscere gli errori.

Poi sistemi qualcosa senza cercare e ti senti un mago per 14 secondi.

Goditi quei 14 secondi.

Te li sei guadagnati.

Realtà

Non ti serve il genio.

Ti serve costanza.

Il principiante che pratica ogni giorno batterà il “genio” che parla solo di imparare e non scrive mai codice.

Duro, ma vero.

La tastiera premia l’azione.

Non la fantasia.


Mito 6: i veri programmatori non fanno errori

Questo è divertente.

I veri programmatori fanno errori continuamente.

Costantemente.

Ogni giorno.

A volte prima del caffè.

A volte a causa del caffè.

La programmazione è piena di errori:

  • errori di sintassi,
  • punti e virgola mancanti,
  • nomi di variabili sbagliati,
  • import rotti,
  • cicli infiniti,
  • assunzioni sbagliate,
  • errori off-by-one,
  • cancellazioni accidentali di qualcosa di importante,
  • un bug sistemato e tre nuovi bug creati.

Se fai errori, congratulazioni.

Stai programmando correttamente.

La differenza tra un principiante e un programmatore esperto non è che gli esperti smettono di fare errori.

La differenza è che gli esperti diventano più bravi a trovarli e sistemarli.

Leggono i messaggi di errore.

Usano strumenti di debug.

Testano piccoli cambiamenti.

Usano il controllo versione.

Imparano a restare calmi quando il terminale sembra arrabbiato.

Beh, quasi calmi.

A volte il terminale merita uno sguardo sospettoso.

Realtà

Gli errori non dimostrano che sei scarso nella programmazione.

Gli errori fanno parte della programmazione.

La vera abilità è il debugging.

Scrivere codice è solo metà del lavoro.

Sistemarlo è dove succede lo sviluppo del personaggio.


Mito 7: ti serve una laurea per diventare programmatore

Una laurea in informatica può essere utile.

Può insegnare teoria, algoritmi, sistemi, matematica e pensiero strutturato.

Ma non è l’unica strada.

Molti programmatori sono autodidatti.

Molti hanno imparato tramite corsi online, documentazione, libri, tutorial, progetti open source, bootcamp, esperienza lavorativa e progetti personali.

La cosa più importante non è il pezzo di carta.

La cosa importante è se sai risolvere problemi e costruire cose.

Una laurea può aiutarti ad aprire alcune porte.

Ma le tue competenze, i tuoi progetti, la tua costanza e la tua capacità di imparare contano tantissimo.

Soprattutto nella programmazione pratica.

Se non hai una laurea, non usarla come scusa.

Costruisci un portfolio.

Crea progetti.

Scrivi codice.

Pubblica il tuo lavoro.

Impara Git.

Capisci le basi dell’architettura software.

Allenati a spiegare quello che hai costruito.

Il mercato non premia chi dice solo:

“Voglio diventare sviluppatore.”

Premia chi mostra:

“Ecco cosa ho costruito.”

Realtà

Una laurea può aiutare.

Ma non è obbligatoria.

Un buon portfolio, competenze pratiche e apprendimento costante possono portarti molto lontano.

Nessun diploma farà il debug del tuo codice al posto tuo.

Purtroppo.


Mito 8: devi iniziare da giovane

Alcune persone pensano che programmare sia solo per adolescenti che hanno iniziato a scrivere codice a dodici anni e costruito un robot prima di colazione.

Sbagliato.

Puoi iniziare a programmare a 15 anni.

A 25.

A 35.

A 50.

A 70.

L’età non è il problema.

La costanza sì.

Gli adulti spesso portano vantaggi nella programmazione:

  • pazienza,
  • esperienza nel mondo reale,
  • disciplina,
  • capacità comunicative,
  • comprensione dei problemi di business,
  • capacità di collegare la programmazione a bisogni pratici.

Un adolescente può imparare la sintassi velocemente.

Un adulto può capire perché uno strumento conta nella vita reale.

Entrambi possono diventare buoni programmatori.

Non esiste un limite magico di età in cui il computer dice:

“Mi dispiace, sei troppo vecchio per le variabili.”

Sarebbe maleducato.

Anche per un compilatore.

Realtà

Puoi iniziare più tardi.

Puoi comunque imparare.

Ti servirà tempo.

Ti servirà pazienza.

Ma non sei in ritardo.

Stai solo iniziando da dove sei.

Ed è permesso.


Mito 9: devi memorizzare tutto

I principianti spesso pensano che i programmatori memorizzino ogni comando, funzione, regola di sintassi e libreria.

No.

Assolutamente no.

I programmatori dimenticano cose continuamente.

Anche sviluppatori esperti cercano a volte la sintassi di base.

Non perché siano scarsi.

Ma perché la programmazione è enorme.

Ci sono troppi linguaggi, framework, API, librerie, strumenti e dettagli specifici di versione per memorizzare tutto.

L’obiettivo non è memorizzare l’intero internet.

L’obiettivo è capire i concetti e sapere come trovare informazioni affidabili.

La documentazione esiste per un motivo.

La ricerca esiste per un motivo.

Gli appunti esistono per un motivo.

Il tuo cervello non è un hard disk.

E anche gli hard disk si rompono.

Realtà

Capisci i concetti.

Fai abbastanza pratica da ricordare i pattern comuni.

Cerca il resto.

Un buon programmatore non è qualcuno che sa tutto.

Un buon programmatore è qualcuno che sa imparare ciò che serve e applicarlo correttamente.


Mito 10: programmare è solo scrivere codice

Questo è un mito subdolo.

Programmare non significa solo digitare codice.

Programmare include:

  • capire il problema,
  • pianificare una soluzione,
  • scegliere gli strumenti,
  • leggere documentazione,
  • fare debugging,
  • testare,
  • fare refactoring,
  • comunicare,
  • dare nomi alle cose,
  • organizzare file,
  • mantenere progetti,
  • e ogni tanto chiedersi perché ieri funzionava.

Il codice è la parte visibile.

Il pensiero è la parte nascosta.

Per questo uno sviluppatore può fissare lo schermo per 20 minuti e poi scrivere tre righe.

Da fuori sembra che non sia successo nulla.

Dentro il cervello dello sviluppatore, un piccolo comitato ha combattuto una guerra.

Programmare è soprattutto risolvere problemi.

Digitare è solo la parte che vede la tastiera.

Realtà

Non giudicare il progresso solo dal numero di righe scritte.

A volte eliminare codice è progresso.

A volte semplificare codice è progresso.

A volte capire che la tua prima idea era sbagliata è progresso.

Progresso doloroso.

Ma sempre progresso.


Che cos’è davvero la programmazione

La programmazione è l’arte di dare istruzioni a un computer.

Istruzioni molto precise.

Dolorosamente precise.

Un essere umano capisce:

“Metti il pulsante in un posto carino.”

Un computer chiede:

“Definisci carino.”

Questa è la programmazione.

Impari a essere specifico.

Impari a dividere grandi idee in piccoli passi.

Impari a pensare logicamente.

Impari a testare.

Impari a fallire senza esplodere emotivamente ogni volta.

Quasi.

La programmazione insegna pazienza.

Insegna umiltà.

Ti insegna che un solo carattere mancante può rovinarti il pomeriggio.

Ma ti dà anche il potere di creare.

E questo vale la pena.


Come iniziare senza perderti

Se sei un principiante, tieni le cose semplici.

Non cercare di imparare tutto insieme.

Un buon percorso iniziale potrebbe essere:

  1. Impara le basi di HTML.
  2. Impara le basi di CSS.
  3. Impara i fondamenti di JavaScript.
  4. Costruisci piccole pagine web.
  5. Impara Git e GitHub.
  6. Più avanti impara un linguaggio o framework backend.
  7. Costruisci progetti reali.

Non iniziare cercando di costruire “il nuovo Facebook”.

Inizia con:

  • una pagina personale,
  • una calcolatrice,
  • una todo list,
  • un layout per blog,
  • un form semplice,
  • una piccola API,
  • uno script che rinomina file,
  • un progetto che risolve un problema minuscolo.

I piccoli progetti non sono infantili.

I piccoli progetti sono il modo in cui impari.

I grandi progetti sono solo tanti piccoli problemi con un trench.


Considerazioni finali

La programmazione è circondata da miti.

Non devi essere un genio della matematica.

Non ti serve un supercomputer.

Non devi conoscere tutti i linguaggi.

Non devi essere un genio.

Non ti serve un inizio perfetto.

Devi iniziare.

Poi continuare.

Poi fallire.

Poi sistemare.

Poi ripetere.

Questa è la vera strada.

La programmazione non è magia, ma può sembrare magica quando qualcosa finalmente funziona.

E sì, a volte passerai due ore a sistemare un problema causato da un typo.

Non è fallimento.

È tradizione.

Vuoi imparare di più?

Se vuoi iniziare dalle fondamenta del web, parti da HTML e CSS.

Sono amichevoli, visivi e perfetti per principianti.

Puoi iniziare da qui:

Inizia il corso HTML

E dopo:

Inizia il corso CSS

Prenditi il tuo tempo.

Scrivi codice.

Rompi le cose in sicurezza.

Sistemane qualcuna.

E ricorda:

Ogni messaggio di errore non è un insulto.

È solo il tuo computer che dice:

“Ho bisogno di istruzioni migliori.”