14 KiB
Introduzione ai Linguaggi di Programmazione e agli Strumenti del Mestiere
Questa lezione copre le basi dei linguaggi di programmazione. Gli argomenti trattati si applicano alla maggior parte dei linguaggi di programmazione moderni. Nella sezione "Strumenti del Mestiere", imparerai a conoscere software utili che ti aiuteranno come sviluppatore.
Sketchnote di Tomomi Imura
Quiz Pre-Lezione
Introduzione
In questa lezione, affronteremo:
- Cos'è la programmazione?
- Tipi di linguaggi di programmazione
- Elementi di base di un programma
- Software e strumenti utili per lo sviluppatore professionista
Puoi seguire questa lezione su Microsoft Learn!
Cos'è la Programmazione?
La programmazione (nota anche come coding) è il processo di scrittura di istruzioni per un dispositivo come un computer o un dispositivo mobile. Scriviamo queste istruzioni utilizzando un linguaggio di programmazione, che viene poi interpretato dal dispositivo. Questi insiemi di istruzioni possono essere chiamati in vari modi, ma programma, programma per computer, applicazione (app) e eseguibile sono alcuni dei nomi più comuni.
Un programma può essere qualsiasi cosa scritta con il codice: siti web, giochi e app per telefoni sono programmi. Sebbene sia possibile creare un programma senza scrivere codice, la logica sottostante viene interpretata dal dispositivo e quella logica è stata molto probabilmente scritta con il codice. Un programma che esegue o interpreta il codice sta portando a termine istruzioni. Il dispositivo con cui stai leggendo questa lezione sta eseguendo un programma per visualizzarla sullo schermo.
✅ Fai una piccola ricerca: chi è considerato il primo programmatore di computer al mondo?
Linguaggi di Programmazione
I linguaggi di programmazione permettono agli sviluppatori di scrivere istruzioni per un dispositivo. I dispositivi possono comprendere solo il linguaggio binario (1 e 0), e per la maggior parte degli sviluppatori questo non è un modo molto efficiente di comunicare. I linguaggi di programmazione sono il mezzo di comunicazione tra esseri umani e computer.
I linguaggi di programmazione hanno formati diversi e possono servire a scopi differenti. Ad esempio, JavaScript è utilizzato principalmente per le applicazioni web, mentre Bash è usato principalmente per i sistemi operativi.
I linguaggi di basso livello richiedono generalmente meno passaggi rispetto ai linguaggi di alto livello per essere interpretati da un dispositivo. Tuttavia, ciò che rende popolari i linguaggi di alto livello è la loro leggibilità e il supporto che offrono. JavaScript è considerato un linguaggio di alto livello.
Il seguente codice illustra la differenza tra un linguaggio di alto livello come JavaScript e un linguaggio di basso livello come il codice assembly ARM.
let number = 10
let n1 = 0, n2 = 1, nextTerm;
for (let i = 1; i <= number; i++) {
console.log(n1);
nextTerm = n1 + n2;
n1 = n2;
n2 = nextTerm;
}
area ascen,code,readonly
entry
code32
adr r0,thumb+1
bx r0
code16
thumb
mov r0,#00
sub r0,r0,#01
mov r1,#01
mov r4,#10
ldr r2,=0x40000000
back add r0,r1
str r0,[r2]
add r2,#04
mov r3,r0
mov r0,r1
mov r1,r3
sub r4,#01
cmp r4,#00
bne back
end
Che ci crediate o no, entrambi fanno la stessa cosa: stampano una sequenza di Fibonacci fino a 10.
✅ Una sequenza di Fibonacci è definita come un insieme di numeri in cui ogni numero è la somma dei due precedenti, a partire da 0 e 1. I primi 10 numeri della sequenza di Fibonacci sono 0, 1, 1, 2, 3, 5, 8, 13, 21 e 34.
Elementi di un Programma
Una singola istruzione in un programma è chiamata istruzione (statement) e di solito ha un carattere o uno spazio che indica dove termina, o termina. Il modo in cui un'istruzione termina varia a seconda del linguaggio.
Le istruzioni in un programma possono dipendere da dati forniti da un utente o da altre fonti per eseguire le istruzioni. I dati possono cambiare il comportamento di un programma, quindi i linguaggi di programmazione includono un modo per memorizzare temporaneamente i dati per un uso successivo. Questi sono chiamati variabili. Le variabili sono istruzioni che indicano a un dispositivo di salvare i dati nella sua memoria. Le variabili nei programmi sono simili alle variabili in algebra, dove hanno un nome unico e il loro valore può cambiare nel tempo.
C'è la possibilità che alcune istruzioni non vengano eseguite da un dispositivo. Questo avviene di solito per scelta dello sviluppatore o per errore quando si verifica un problema imprevisto. Questo tipo di controllo su un'applicazione la rende più robusta e manutenibile. Tipicamente, questi cambiamenti di controllo avvengono quando vengono soddisfatte determinate condizioni. Un'istruzione comune utilizzata nella programmazione moderna per controllare l'esecuzione di un programma è l'istruzione if..else
.
✅ Imparerai di più su questo tipo di istruzione nelle lezioni successive.
Strumenti del Mestiere
🎥 Clicca sull'immagine sopra per un video sugli strumenti
In questa sezione, imparerai a conoscere alcuni software che potrebbero esserti molto utili mentre inizi il tuo percorso di sviluppo professionale.
Un ambiente di sviluppo è un insieme unico di strumenti e funzionalità che uno sviluppatore utilizza spesso durante la scrittura di software. Alcuni di questi strumenti sono stati personalizzati per le esigenze specifiche di uno sviluppatore e possono cambiare nel tempo se lo sviluppatore cambia priorità lavorative, progetti personali o linguaggi di programmazione. Gli ambienti di sviluppo sono unici quanto gli sviluppatori che li utilizzano.
Editor
Uno degli strumenti più cruciali per lo sviluppo software è l'editor. Gli editor sono il luogo in cui scrivi il tuo codice e, a volte, dove lo esegui.
Gli sviluppatori si affidano agli editor per diversi motivi aggiuntivi:
- Il debugging aiuta a scoprire bug ed errori analizzando il codice, riga per riga. Alcuni editor hanno funzionalità di debugging; possono essere personalizzati e arricchiti per linguaggi di programmazione specifici.
- L'evidenziazione della sintassi aggiunge colori e formattazioni al testo del codice, rendendolo più facile da leggere. La maggior parte degli editor consente di personalizzare l'evidenziazione della sintassi.
- Le estensioni e integrazioni sono strumenti specializzati per sviluppatori, creati da sviluppatori. Questi strumenti non sono inclusi nell'editor di base. Ad esempio, molti sviluppatori documentano il loro codice per spiegare come funziona. Possono installare un'estensione per il controllo ortografico per individuare errori di battitura nella documentazione. La maggior parte delle estensioni è progettata per essere utilizzata in un editor specifico, e la maggior parte degli editor include un modo per cercare le estensioni disponibili.
- La personalizzazione consente agli sviluppatori di creare un ambiente di sviluppo unico per soddisfare le loro esigenze. La maggior parte degli editor è estremamente personalizzabile e può anche consentire agli sviluppatori di creare estensioni personalizzate.
Editor Popolari ed Estensioni per lo Sviluppo Web
Browser
Un altro strumento cruciale è il browser. Gli sviluppatori web si affidano al browser per vedere come il loro codice viene eseguito sul web. È anche utilizzato per visualizzare gli elementi visivi di una pagina web scritti nell'editor, come l'HTML.
Molti browser includono strumenti per sviluppatori (DevTools) che contengono una serie di funzionalità utili e informazioni per aiutare gli sviluppatori a raccogliere e catturare informazioni importanti sulla loro applicazione. Ad esempio: se una pagina web presenta errori, a volte è utile sapere quando si sono verificati. I DevTools di un browser possono essere configurati per catturare queste informazioni.
Browser Popolari e DevTools
Strumenti da Riga di Comando
Alcuni sviluppatori preferiscono una vista meno grafica per le loro attività quotidiane e si affidano alla riga di comando per raggiungere questo obiettivo. Scrivere codice richiede una quantità significativa di digitazione e alcuni sviluppatori preferiscono non interrompere il loro flusso sulla tastiera. Utilizzano scorciatoie da tastiera per passare tra le finestre del desktop, lavorare su file diversi e utilizzare strumenti. La maggior parte delle attività può essere completata con un mouse, ma uno dei vantaggi dell'uso della riga di comando è che molte operazioni possono essere eseguite senza dover passare tra mouse e tastiera. Un altro vantaggio della riga di comando è che è configurabile: puoi salvare una configurazione personalizzata, modificarla in seguito e importarla su altre macchine di sviluppo. Poiché gli ambienti di sviluppo sono così unici per ogni sviluppatore, alcuni evitano di usare la riga di comando, altri si affidano completamente ad essa, e altri ancora preferiscono un mix delle due.
Opzioni Popolari per la Riga di Comando
Le opzioni per la riga di comando variano in base al sistema operativo utilizzato.
💻 = preinstallato sul sistema operativo.
Windows
- Powershell 💻
- Command Line (noto anche come CMD) 💻
- Windows Terminal
- mintty
MacOS
Linux
Strumenti Popolari per la Riga di Comando
Documentazione
Quando uno sviluppatore vuole imparare qualcosa di nuovo, probabilmente si rivolgerà alla documentazione per capire come utilizzarlo. Gli sviluppatori spesso si affidano alla documentazione per essere guidati su come utilizzare correttamente strumenti e linguaggi, e anche per acquisire una conoscenza più approfondita del loro funzionamento.
Documentazione Popolare sullo Sviluppo Web
- Mozilla Developer Network (MDN), di Mozilla, gli editori del browser Firefox
- Frontend Masters
- Web.dev, di Google, editori di Chrome
- Documentazione per sviluppatori di Microsoft, per Microsoft Edge
- W3 Schools
✅ Fai una ricerca: Ora che conosci le basi dell'ambiente di uno sviluppatore web, confrontalo con l'ambiente di un web designer.
🚀 Sfida
Confronta alcuni linguaggi di programmazione. Quali sono alcune delle caratteristiche uniche di JavaScript rispetto a Java? E di COBOL rispetto a Go?
Quiz Post-Lezione
Revisione e Studio Individuale
Studia un po' i diversi linguaggi disponibili per i programmatori. Prova a scrivere una riga in un linguaggio e poi riscrivila in altri due. Cosa hai imparato?
Compito
Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione automatica Co-op Translator. Sebbene ci impegniamo per garantire l'accuratezza, si prega di notare che le traduzioni automatiche potrebbero contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si consiglia una traduzione professionale eseguita da un traduttore umano. Non siamo responsabili per eventuali fraintendimenti o interpretazioni errate derivanti dall'uso di questa traduzione.