Come imparare da zero a programmare

pubblicato in Programmazione web
Pubblicato da Boolean
· 10/09/2020 · 14 minutes read

Da dove iniziare per imparare a programmare e quali linguaggi di programmazione devi conoscere: ecco le risposte.

Imparare a programmare da zero è possibile, ma bisogna capire prima cosa significhi davvero e quali siano le opzioni formative possibili. Oltre a una panoramica sui linguaggi e sulle diverse tipologie di corsi di programmazione e scuole di programmazione, in questo articolo troverai dei consigli pratici per chi, da principiante, desidera imparare un linguaggio di programmazione ma non sa da che parte iniziare.

Cos’è la programmazione web?

Hai deciso di imparare a programmare per il web, ottima idea! Ma sai davvero che cosa significa? Proviamo a spiegartelo noi. In breve, la programmazione web è l’insieme di attività e tecniche di programmazione che una o più persone specializzate, programmatori o sviluppatori (developer), svolgono per creare applicazioni e siti per il web.

Queste attività riguardano i linguaggi di programmazione (linguaggi di scripting), ovvero, attraverso la scrittura del codice, lo sviluppatore web è in grado di sviluppare e gestire programmi e trovare soluzioni informatiche in base alle esigenze del singolo caso.

Quali sono i linguaggi di programmazione più utilizzati?

Sono diversi i linguaggi di programmazione usati dai web developer e prima di presentartene alcuni, vogliamo spiegarti effettivamente che cosa sono. Un linguaggio di programmazione è un linguaggio dotato di un insieme di regole, utilizzato per scrivere programmi per computer. Ciò di cui è composto sono delle istruzioni che a partire da un insieme di dati di input, produce un insieme di dati di output.

I linguaggi di programmazione sono molti e si distinguono principalmente in due categorie: interpretati e compilati.

I linguaggi interpretati

Si definisce linguaggio interpretato un linguaggio che ha bisogno di un software, chiamato appunto interprete, per essere eseguito.

Uno dei più famosi linguaggi di programmazione interpretati è sicuramente Java, nato nel 1991 e oggi più famoso che mai perché spesso utilizzato per lo sviluppo delle applicazioni per dispositivi Android e per svariati software legati al mondo enterprise.

Python invece viene visto dagli addetti ai lavori come il linguaggio di programmazione più facile da comprendere perché presenta un codice facilmente leggibile e, molto spesso, viene consigliato a chi vuole iniziare a programmare. Il suo campo di applicazione principale è la manipolazione di dati e le applicazioni di “big data” e di Machine Learning.

PHP, acronimo ricorsivo di PHP: Hypertext Preprocessor, nasce nel 1994 e viene usato per per la realizzazione di pagine web dinamiche. Dal 1994 ad oggi ha subito numerose evoluzioni che l’hanno portato ad essere un linguaggio moderno e veloce. PHP è il linguaggio di programmazione più utilizzato sul web anche grazie al fatto di essere il linguaggio con cui è scritto il famoso CMS Wordpress. Secondo i dati di W3Tech, il 78,9% dei siti web esistenti utilizza PHP come linguaggio backend.

C# è un linguaggio orientato agli oggetti sviluppato da Microsoft. Inizialmente molto simile a Java, negli ultimi anni ha fatto scelte diverse che l’hanno reso un linguaggio moderno. C# (si legge come l’espressione see sharp,"vedere nitidamente") è il linguaggio di riferimento per il mondo .NET, la piattaforma di sviluppo di Microsoft.

JavaScript è probabilmente uno dei linguaggi di programmazione più popolari e viene utilizzato principalmente in applicazioni web. È nato nel 1995 ed è ancora l’unico linguaggio di programmazione che i browser (Chrome, Firefox, Edge …) riescono a comprendere: per questo motivo è indispensabile conoscerlo per creare interazioni “client-side”, ovvero nella parte del sito visibile dall’utente. Nel 2009 inizia una nuova vita per Javascript perchè, grazie al progetto NodeJS, può essere utilizzato anche per creare applicazioni backend.

Ruby è un linguaggio orientato completamente ad oggetti ma è utilizzato anche come linguaggio di scripting per creare piccole applicazioni da riga di comando. Nonostante la sintassi elegante e un grande entusiasmo dalla community (soprattutto startup) alla sua nascita, non è ancora riuscito a ritagliarsi una fetta di mercato rilevante.

I linguaggi compilati

I linguaggi compilati si distinguono da quelli interpretati perché non hanno bisogno di un interprete, bensì di un compilatore. Un compilatore è un software che trasforma il codice sorgente scritto dal programmatore in codice macchina eseguibile dal computer.

C è probabilmente il linguaggio di programmazione più famoso. È un “pezzo di storia”, sviluppato da Dennis Ritchie dal 1969 al 1973 dei laboratori di AT&T insieme al sistema operativo UNIX. E’ un linguaggio di basso livello che richiede al programmatore una conoscenza approfondita dei calcolatori; infatti è utilizzato per applicazioni con requisiti particolari.

C++ è il miglioramento del linguaggio C che introduce una sintassi più chiara e il paradigma ad oggetti, viene sviluppato nel 1983.

HTML e CSS non sono linguaggi di programmazione

HTML è un linguaggio di markup, e serve a descrivere la struttura gerarchica di un documento. Lo fa utilizzando dei tag che racchiudono le informazioni. I tag servono a descrivere il significato semantico del contenuto racchiuso. I tag possono racchiudere altri tag, in questo modo viene definita la struttura gerarchica del documento da cui poi si può ricavare una struttura ad albero.

Le regole di base su come utilizzare i tag, quali attributi possono avere e quali tag possono racchiudere sono parte stessa della definizione di HTML. Tuttavia non ci sono controlli intrinseci per verificare che queste regole sono rispettate. La maggior parte dei browser interpreta l’HTML anche se non scritto in maniera del tutto corretta.

CSS, sigla di Cascading Style Sheets (in italiano “fogli di stile a cascata”), è un linguaggio usato per definire la formattazione di documenti HTML, XHTML e XML che in seguito formano le pagine web che siamo soliti visitare ogni giorno.

Perché è utile saper programmare?

“Non è più l’inglese la lingua da conoscere. Sono i linguaggi di programmazione il futuro”

Chi l’ha detto? Tim Cook, amministratore delegato di Apple, una delle multinazionali tecnologiche più influenti del mondo. La natura del suo pensiero è certamente collegata al fatto che la nostra routine è oramai sempre più influenzata dal lavoro dei web developer e conoscerne le logiche che vi stanno alla base rappresenta un vantaggio non solo a livello professionale.

Non a caso, all’interno dei programmi scolastici delle elementari si stanno facendo strada anche le lezioni di coding: ciò accade per preparare le nuove generazioni a comprendere le tecnologie che ci circondano oggi e per mostrare il contributo queste danno e daranno alle nostre vite.

L’influenza che il mondo del coding sta avendo nello sviluppo delle nostre nuove abitudini lascia prevedere che questa sarà via via maggiore: ne consegue che le posizioni aperte per i professionisti del settore ICT aumenteranno e così il bisogno da parte del mercato del lavoro di figure disposte a imparare a programmare.

Ad oggi, in Italia, si registra un gap tra domanda e offerta nel settore ICT per il triennio 2019-2021 di 62 mila posizioni lavorative (dato dell'Osservatorio delle Competenze Digitali) che rimarranno scoperte. Le opportunità lavorative per chi ha un’adeguata formazione nel campo della programmazione sono quindi molte e le possibilità di crescita sono nettamente superiori rispetto a molti altri settori.

Con quale linguaggio di programmazione iniziare?

La parte più complessa per una persona che inizia a programmare da zero (soprattutto se lo fa da autodidatta) è la scelta del primo linguaggio di programmazione da imparare. Per farlo è necessario avere a disposizione tutte le informazioni necessarie e capire quale sia l’intento, ma è importante sapere che non esiste un vero e proprio programma "di partenza", qualcosa ideale per chi è alle prime armi. Ogni linguaggio ha le sue difficoltà e richiede impegno e tempo per essere imparato.

I web developer non sono tutti uguali. C’è chi vuole diventare un back-end web developer, o magari un front-end web developer, oppure ci sono persone che mirano a diventare il connubio perfetto tra questi due, ovvero il full-stack web developer (a tal proposito ti consigliamo di leggere il nostro post Back-end, front-end e full-stack web developer: qual è la differenza?). A seconda dell’obiettivo lavorativo e delle attitudini, la scelta ricadrà su un determinato linguaggio di programmazione.

Java, linguaggio di programmazione a cui abbiamo fatto cenno poco fa, è tra i più gettonati sul mercato. Infatti, conoscerlo bene moltiplicherà le opportunità lavorative proprio perché, grazie alla sua natura versatile, è applicabile a praticamente ogni settore (app, software, big data). Se si pensa a una carriera incentrata sullo sviluppo di applicazioni Android o se si vuole diventare un big data specialist, Java è il primo linguaggio di programmazione che andrebbe preso in considerazione.

Python è tra tutti i linguaggi quello più semplice e immediato da assimilare. Anche un neofita che decide di imparare a programmare da solo sarà avvantaggiato dalle innumerevoli risorse gratuite disponibili nel web circa lo studio su Python. Tuttavia l’utilizzo maggiore di questo linguaggio di programmazione è circoscritto al settore scientifico e, di conseguenza, il suo studio viene consigliato a chi vuole diventare un data scientist o è interessato al settore del machine learning.

Il linguaggio C, ad esempio, è quello più usato nel settore dell’informatica e presenta eccellenti prestazioni sia in termini di velocità di esecuzione, sia di risorse utilizzate. Non è un linguaggio facile da imparare ed è il meno richiesto dalle aziende, ma conoscerlo offre allo studente una forma mentis dall’impronta fortemente informatica (che tornerà molto utile nell’apprendimento di altri linguaggi di programmazione), e insegna letteralmente le basi della programmazione. Molto consigliato per chi desidera una carriera legata all’ambito hardware, come ad esempio la programmazione dei sistemi operativi.

Da dove iniziare per imparare a programmare?

È difficile decidere quale sia il miglior corso di programmazione o la miglior scuola di programmazione da scegliere. Per fare una scelta più consapevole può essere utile tenere in considerazione diversi parametri. Vediamone alcuni.

Come valutare un corso da web developer?

Il programma didattico: per valutare un percorso formativo è necessario conoscere gli argomenti - quindi i linguaggi di programmazione - che verranno trattati durante le lezioni. Argomenti come HTML e CSS3, JavaScript e jQuery, PHP, MySQL e SQL, Laravel e VueJS rappresentano una buona base su cui poter poi implementare le proprie conoscenze di programmazione web.

La durata del percorso formativo: non bisogna mai sottovalutare la quantità di tempo giusta per imparare e assimilare concetti nuovi. Imparare a programmare da zero richiede uno studio approfondito della teoria, ma sono le esercitazioni pratiche a richiedere più tempo e dedizione. Un percorso formativo della durata di 6 mesi che bilancia la parte teorica con quella pratica è probabilmente la soluzione migliore per chi vuole iniziare a programmare. Pensare di poter diventare degli esperti di diversi linguaggi di programmazione in meno di 6 mesi non è realistico.

Il numero di iscritti: maggiore è il numero di persone che frequenta un corso di programmazione o una scuola di programmazione online, maggiori sono le probabilità che siano riconosciuti come enti o istituzioni valide. Il numero di iscritti è anche spesso proporzionale al numero di recensioni online: è utile leggerne il più possibile per avere feedback reali sulla qualità del progetto formativo.

L’offerta di un servizio di placement dedicato: una volta finito un percorso formativo, poter contare sul supporto attivo di un dipartimento placement può fare veramente la differenza nella ricerca di un lavoro. Ricordati però di chiedere anche del placement rate, ovvero della percentuale di successo con cui il placement aiuta a trovare effettivamente un impiego agli studenti.

Le garanzie post-formazione: una scuola di formazione o un corso di formazione in grado di offrire una garanzia di rimborso, dimostrano allo studente di star offrendo un prodotto didattico all’altezza delle aspettative e delle esigenze del mercato.

Una volta presi in considerazione questi parametri, ci si renderà conto che per diventare web developer ci sono diverse strade, bisogna soltanto capire qual è la più giusta per ognuno. Dipende molto da che tipo di persona si è, dal tempo che si può dedicare allo studio e a quanta fretta si ha di diventare un web developer.

Università, autodidatta o scuola online: cosa scegliere?

Università

Il percorso formativo più tradizionale è sicuramente quello universitario. Decidere di intraprendere un percorso universitario per diventare web developer non è una scelta sbagliata: lo studio approfondito della teoria è in grado di forgiare una forma mentis che tornerà sicuramente utile anche quando ci si dedicherà alla pratica. Detto questo, tra tutte le possibili scelte è quella meno pratica, più lunga e meno professionalizzante.

Autodidatta

Un’altra opzione che nel mondo della programmazione non risulta per niente rara è che un aspirante sviluppatore web inizi a studiare autonomamente nel suo tempo libero un linguaggio di programmazione (meglio se uno alla volta). Il tempo necessario dipenderà soltanto dalle sue capacità di concentrazione e dalla sua resilienza. I contro stanno nella mancanza di supporto in caso di difficoltà e nell’impossibilità di autovalutarsi durante il processo di apprendimento.

Corso di formazione in campus

I corsi di programmazione presenti sul mercato sono vari e possono essere sia fisici che da remoto. Quelli fisici hanno il contro che non sono flessibili, ovvero che bisogna recarsi nella sede della scuola di programmazione che si è deciso di frequentare e, molto spesso, sono corsi serali che, di conseguenza, durano molto a lungo. Probabilmente se si vuole raggiungere un determinato livello in poco tempo, bisogna pensare a corsi intensivi.

Corso di formazione online

I corsi di programmazione da remoto, possono a loro volta essere suddivisi in corsi a pagamento e corsi free. I corsi gratis o con prezzi molto bassi (spesso scontati) hanno una durata di poche ore e/o danno un’infarinatura generale dei concetti basi. Essendo molto spesso corsi pre registrati, regalano molta flessibilità all’utente e sono sicuramente un ottimo modo per iniziare ad approcciarsi al mondo della programmazione in maniera soft.

Nel caso in cui si voglia imparare a programmare da zero e in poco tempo, una vera scuola di programmazione online presenta tanti plus. Il primo è che non necessita di spostarsi e permette allo studente di seguire le lezioni da remoto comodamente da casa propria. Un percorso formativo di questo tipo ha lezioni live (quindi non registrate), spesso seguite da esercitazioni pratiche in grado di velocizzare l’apprendimento di ogni aspirante sviluppatore in tempi molto più brevi. Grazie alla presenza di insegnanti, le naturali problematiche che insorgono durante il percorso vengono risolte in tempo reale, ottimizzando tutte le fasi dell’assimilazione dei concetti.

Che lingue devi sapere per programmare?

Imparare a programmare richiede un buon pensiero logico e un’ottima attitudine al ragionamento. La passione per la tecnologia è un presupposto necessario, altrimenti passare ogni giorno davanti a un computer programmando per altri computer potrebbe diventare un incubo e non il lavoro dei sogni.

La conoscenza della lingua inglese risulta essere un altro requisito preferenziale. Infatti, molto spesso le documentazioni reperibili su internet sono in lingua inglese, così come lo sono i forum su cui approfondire e aggiornarsi.

Non parlare fluentemente questa lingua non rappresenta un ostacolo immediato nelle carriera di un web developer, considerando che i corsi di formazione in Italia molto spesso offrono il materiale didattico in italiano, ma è importante cercare di colmare le proprie lacune linguistiche nel breve periodo.

8 consigli di un programmatore per iniziare a programmare

Chi decide di imparare a programmare da zero spesso non sa in che cosa consista esattamente il lavoro da web developer. Per questo con degli sviluppatori web esperti abbiamo stilato una lista di 8 cose che (almeno loro) avrebbero voluto sapere prima di iniziare questo percorso.

Non sarà facile: diventare uno sviluppatore web è un percorso lungo e in salita, per questo bisogna avere una forte motivazione.

É una questione di creatività: è importante sapere mettere insieme le conoscenze acquisite, collegare i punti e saper ragionare anche fuori dagli schemi.

Non serve l’attrezzatura di un astronauta: per cominciare a studiare bastano un editor di testo e una buona connessione a internet.

Bisogna essere realistici: fissare degli obiettivi chiari e realistici, basati sulle proprie capacità è il modo migliore per avere risultati soddisfacenti.

Il coding non è Matrix: ci dispiace, ma fare il web developer non vuol dire essere dentro Matrix e non vuol dire hackerare la NASA.

Sbagliare è normale: nella programmazione per arrivare a una soluzione occorre fare molti tentativi. E non tutti i tentativi vanno in porto, ma è giusto così, fa parte del processo.

Determinazione, ma anche pazienza: l’ambizione è importante, ma non sempre i nostri sforzi vengono ripagati nell’immediato. Siate pazienti con voi stessi, premiate i vostri upgrade, apprezzate le vostre fatiche e date il giusto peso ai vostri “fallimenti”.

Anche le ragazze possono programmare: chiunque è interessato al mondo dell’informatica ed è fortemente motivato a diventare un web developer ha le carte in regola per farcela.

Se ti interessa un approfondimento sul nostro canale YouTube puoi andare a vedere il video dedicato alle 8 cose da sapere prima di diventare un web developer

Corso introduttivo HTML e CSS gratuito di Boolean

Una volta passate in rassegna le varie opzioni formative, ti consigliamo di fare una prova del nove, così da capire cosa significhi seguire delle lezioni di programmazione. Passare alla pratica è il modo migliore per mettersi alla prova e capire se programmare per il web possa essere la tua strada.

Se sei alle prime armi, puoi seguire il corso introduttivo gratuito di Boolean, FundamentalsCamp: un estratto delle prime settimane del Corso FullTime di Boolean per diventare Full-Stack web developer. Avrai a disposizione più di 35 video lezioni registrate (per una durata totale di circa 15 ore) dedicate alle basi del web: HTML e CSS. Un buon inizio per prendere confidenza con i linguaggi di programmazione e metterti alla prova con esercizi pratici!

Read next

Sofia, la teacher Boolean con la passione per l'insegnamento

Tenacia, intraprendenza e voglia di mettersi in gioco: quando la programmazione è donna.

Qui in Boolean pensiamo che la nostra storia sia l'insieme...

Boolean #booleanpeople 12/06/2020 · 3 minutes read