La risposta alla domanda più comunemente posta sull’apprendimento del codice
As a technical writer, my mission is to make complex topics easy to understand, so you won’t find much technical jargon in this article. I could rant and rave about object-oriented programming and data structures, but if you’re new to coding and computer science, this won’t mean much to you (yet). The purpose of this article is to give you a very broad and simple introduction to the world of programming, and to help you figure out how (and what) to start learning.
Quale linguaggio di programmazione dovrei imparare per primo?
Questa è la domanda più comune che ho ricevuto dopo aver pubblicato What I Wish I Knew Before I Learned To Code. La maggior parte delle persone presume che ci sia una scelta ovvia, ma la risposta non è sempre così chiara.
Molti bootcamp di codifica si concentrano esclusivamente su JavaScript, forse con il presupposto che chiunque voglia essere uno sviluppatore dovrebbe iniziare solo con il lavoro front-end. JavaScript è praticamente inevitabile se si vuole entrare nello sviluppo front-end, ma molte persone vi si buttano prima ancora di considerare cosa stanno cercando di realizzare imparando a codificare.
Molti programmi di informatica iniziano con Python, forse perché ha una sintassi semplice e una documentazione robusta, che lo rende un ottimo linguaggio per un principiante. Ehi, Python è ottimo per ogni genere di cose, inclusa la scienza dei dati, quindi perché non impararlo prima? È un linguaggio di uso generale, dopo tutto.
Il problema è che molte persone si mettono in testa che vogliono “imparare a codificare”, ma non si fermano a pensare a cosa vogliono imparare a fare.
Programmare non significa scegliere un linguaggio, imparare la sua sintassi, e poi capire cosa può fare in seguito.
Se volete essere sviluppatori, e non siete sicuri da dove iniziare, vi incoraggio fortemente a cominciare dalla fine. Il risultato finale. Cosa volete fare?
Se la risposta è “un sacco di soldi”, allora andate avanti e sfogliate gli annunci di lavoro e scegliete qualsiasi lingua che la vostra azienda preferita sta cercando. Ma buona fortuna nell’imparare qualcosa senza avere un obiettivo tangibile in mente.
Dopo tutto, non importa quanto “facile” o “difficile” sia una particolare lingua da imparare. Sai cos’è veramente difficile? Cercare di spingere un linguaggio oltre i suoi limiti per creare qualcosa che non può (o non dovrebbe) essere creato con quel linguaggio.
Non sono sicuro di cosa voglio fare, ma so che mi piace la sfida della programmazione. È come cercare di imparare una lingua straniera ma ammettere che non sai nemmeno dove si parla e che non hai alcun interesse a parlarne mai una parola ad alta voce. Puoi imparare tutta la grammatica fuori contesto che vuoi, ma non sarai mai un linguista.
Quali sono alcune delle cose che puoi fare?
- siti web
- giochi per computer
- applicazioni mobili (iOS? Android?)
Quali sono alcune delle cose che puoi fare?
- scienza dei dati
- intelligenza artificiale
- apprendimento delle macchine
- sicurezza informatica
- scrittura tecnica
- amministrazione di database
Questa lista non è ovviamente esaustiva, ma il punto è chiaro. Cosa vuoi fare esattamente? Capitelo prima di scegliere un linguaggio di programmazione con cui iniziare. Mentre alcune persone dicono che non importa quale scegliete, purché lo impariate bene, probabilmente scoprirete che questo non è il miglior consiglio – specialmente se avete già provato e fallito.
Se il tuo sogno è quello di progettare il prossimo Fortnite, probabilmente non dovresti passare mesi e mesi su sfide di JavaScript, così come non hai bisogno di fare un corso di Swift se stai cercando di diventare uno sviluppatore Android.
D’altra parte, se il tuo sogno è quello di ottenere una posizione di ingegneria del software in una grande azienda tecnologica, probabilmente ci si aspetta che tu impari nuovi linguaggi di programmazione una volta che inizi a lavorare. La tua comprensione degli algoritmi e dei principi dell’informatica potrebbe essere più importante del linguaggio che sceglierai di usare al tuo colloquio di codifica.
Indubbiamente, è più facile imparare nuovi linguaggi di programmazione dopo averne imparato uno veramente bene, ma se sei agli inizi, è meglio scegliere un linguaggio che si allinei bene con i tuoi obiettivi a breve e lungo termine invece di sceglierne uno a caso, o scegliere quello che pensi ti farà guadagnare di più.
Quali sono alcuni dei linguaggi di programmazione più popolari? Per cosa sono usati più spesso?
Se vuoi fare qualcosa con lo sviluppo front-end, supponi che HTML e CSS siano un dato di fatto. Sia che li consideriate linguaggi di programmazione o meno (tecnicamente HTML è un linguaggio di markup e CSS è un linguaggio di fogli di stile), avete bisogno di impararli, e dovreste essere in grado di impararli velocemente. C’è una ragione per cui i bootcamp di codifica passano al volo l’HTML e i CSS, a volte facendoli diventare parte del corso pre-bootcamp.
In poche parole, l’HTML è usato per mettere testo, immagini e altri elementi su un sito web. Intestazioni, piè di pagina, interruzioni di riga, link, testo in corsivo e così via sono creati con l’HTML. L’intera gerarchia della tua pagina è fatta con l’HTML.
CSS è usato per cambiare l’aspetto di questi elementi. Dall’opacità ai bordi, dalle dimensioni dei caratteri alle griglie, i CSS ti permettono di personalizzare l’aspetto di ogni elemento della tua pagina. Puoi anche usare i CSS per creare animazioni prima ancora di pensare alla parola JavaScript.
Se vuoi essere uno sviluppatore front-end, spendi una settimana o due per imparare veramente HTML e CSS, e fai qualche sito web da zero prima di andare avanti. Imparate Flexbox e Grid per rendere le pagine reattive (in modo che si adattino alle diverse dimensioni dello schermo), e vedete quanto lontano potete spingere i CSS, perché possono davvero fare molto di più di quanto possiate immaginare. Gioca con Bootstrap, che è un framework front-end open-source. Poi, una volta che sei arrivato a questo punto, scoprirai che il tuo viaggio di programmazione ti ha portato naturalmente a…
JavaScript
JavaScript può essere usato in molti modi, ma è più comunemente usato nello sviluppo front-end. JavaScript è usato per rendere i siti web interattivi e per rendere gli elementi web funzionali. Puoi aggiungere un pulsante al tuo sito web con l’HTML, dargli uno stile con i CSS e dargli funzionalità con JavaScript. Senza JavaScript, il tuo pulsante non farà nulla quando gli utenti ci cliccheranno sopra.
Non avrai bisogno di usare il terminale per usare JavaScript. Lavorerai in un editor di codice e nel tuo browser.
JavaScript può essere usato per progettare giochi basati su browser. (Se hai mai provato a giocare a giochi basati su browser su un computer della scuola e hai avuto problemi, probabilmente è perché JavaScript è stato bloccato dall’amministratore della scuola in un futile tentativo di impedirti di giocare)
Ci sono molte librerie e framework che rendono più facile lavorare con JavaScript. Non comincerete con questi, ma potreste usarli ampiamente in seguito.
Potete anche usare JavaScript per il lavoro di back-end usando Node.js.
JavaScript è relativamente indulgente agli errori. Relativamente.
If you want to be a front-end developer, you’ll need to learn HTML, CSS, and JavaScript. There’s really no way around it.