Java 1
Java 1
Modulo 1
avere conoscenze di base su come impostare e utilizzare l'ambiente di programmazione di base (online o
locale);
acquisire competenze che consentono loro di eseguire il loro primo programma JavaScript lato client (sia
come elemento incorporato nella pagina HTML che direttamente nella console del browser).
Modulo 1
Sezione 1
A proposito di JavaScript
Cos'è JS?
JS – Vantaggi e limitazioni
1
introduzione
Questo corso sarà un viaggio piuttosto lungo, ma se arriverai alla fine, sarai in grado di leggere,
comprendere e, naturalmente, scrivere applicazioni e programmi JavaScript. Queste nuove capacità
possono aiutarti nel tuo attuale lavoro o consentirti di raggiungere nuove opportunità di carriera in un
mercato IT in costante crescita. Iniziamo questa avventura senza ulteriori indugi e scopriamo cos'è
JavaScript.
Cominciamo con qualcosa di ovvio: i computer sono ovunque. Quasi sicuramente stai leggendo questo
corso su un computer; il tuo telefono è un computer; troverai computer nei televisori e altri
elettrodomestici, come il tuo aspirapolvere automatico, che utilizza il suo computer e numerosi sensori
nella sua missione senza fine di sradicare la polvere dalla tua vita. Siamo circondati da computer. I
computer sono utilizzati nella scienza, nella medicina, nel settore bancario e negli affari. Sospettiamo che al
giorno d'oggi sarebbe difficile trovare un'area della vita in cui i computer non partecipino attivamente.
Utilizziamo i computer principalmente perché sono in grado di svolgere determinate attività in modo
incomparabilmente più veloce e preciso delle persone. Tuttavia, i computer non possono indovinare che
tipo di attività abbiamo in mente o come aiutarci a eseguirle. Dobbiamo dirglielo. Come? È meglio farlo in
modo simile a quando si passano informazioni ad altre persone, in altre parole, utilizzando un linguaggio
comprensibile da entrambe le parti. Usando un tale linguaggio, scriviamo un programma, una soluzione
formalizzata al nostro problema, che può essere eseguito dal computer.
Quindi, per aiutare nella comunicazione con il computer, sono stati inventati linguaggi di programmazione
che sono in qualche modo simili ai linguaggi naturali (cioè quelli usati per la comunicazione tra le persone).
Esistono migliaia di linguaggi di programmazione e differiscono per scopo (oltre ai linguaggi generici, ce ne
sono molti specializzati, ad esempio linguaggi progettati solo per calcoli statistici), livello di astrazione (in
parole povere: maggiore è il livello del linguaggio , meno abbiamo bisogno di sapere sull'hardware su cui
viene eseguito il programma), facilità d'uso, efficacia dei programmi in essi scritti, ecc.
2
JavaScript come linguaggio interpretato
Forse hai sentito parlare di node.js. È anche un interprete, ma è installato indipendentemente dai browser
come ambiente nel sistema operativo del computer (può essere macOS, Windows o Linux). L'uso di node.js
ti consente di scrivere programmi in JavaScript che, ad esempio, trasformeranno il tuo computer in un
server.
All'inizio di questo paragrafo abbiamo semplificato un po' le cose. JavaScript è un linguaggio interpretato,
su questo non ci sono dubbi. E infatti, eseguire un programma scritto in JavaScript sembra come se
stessimo eseguendo il nostro codice sorgente (cioè il codice che abbiamo scritto) passo dopo passo.
Tuttavia, potresti imbatterti in informazioni su questa lingua, e più specificamente su interpreti particolari,
che sono leggermente diverse.
La maggior parte dei moderni motori JavaScript utilizza la tecnica Just In Time Compilation (JIT
Compilation). Questa tecnica consiste nella compilazione di frammenti di codice durante l'esecuzione del
programma (più di una singola istruzione) e consente di aumentarne le prestazioni. Tuttavia, dal punto di
vista dell'utente, un tale cambiamento è praticamente impercettibile: sembra ancora che solo l'interprete
stia eseguendo il codice sorgente, istruzione per istruzione.
Indipendentemente dalla lingua scelta, alcune cose rimangono le stesse durante la scrittura del
programma. Innanzitutto, una fase importante, e probabilmente la più difficile, di questo processo è
definire correttamente il problema che vogliamo risolvere. Solo allora proviamo a trovare la soluzione
ottimale, che finalmente presenteremo sotto forma di un programma scritto nella lingua scelta.
Quindi, prima di iniziare a spiegare qualcosa al computer, in altre parole, a scrivere un programma, devi
capire esattamente cosa vuoi ottenere e come vuoi ottenerlo. In secondo luogo, la soluzione che
proponiamo e che scriviamo sotto forma di programma deve essere inequivocabile al 100%: il computer
non può indovinare nulla.
Un semplice esempio di un campo leggermente diverso: ad un certo punto della tua vita, probabilmente ti è
capitato di acquistare un mobile che richiedeva il montaggio. L'assemblaggio è un problema di cui tu,
l'acquirente, sei stato gravato. Per far fronte a questo compito, ottieni una serie di istruzioni che ti guidano
attraverso l'intero processo. A questo punto stai fungendo da interprete, utilizzando un programma che ti
consentirà di completare l'attività. Il successo della tua missione dipende dalla qualità di queste istruzioni,
3
siano esse precise e non ambigue, e non provengano da un altro mobile. Alla fine, potrebbe risultare che
non hai costruito i mobili dei tuoi sogni, ma una costruzione surreale di un'altra dimensione.
Affinché le istruzioni siano valide, qualcuno che le sviluppa deve sapere esattamente cosa dovrebbe
illustrare, in quale ordine dovrebbero essere eseguite determinate azioni, in quali fasi è più facile
confondere qualcosa e così via. E, naturalmente, devono sapere quale effetto si vuole ottenere alla fine.