2. Programmi sincroni e asincroni
Programmi sincroni
Una istruzione viene
eseguita solo dopo che è
terminata l’esecuzione
dell’istruzione precedente.
Programmi asincroni
Una istruzione può essere
eseguita prima che sia
terminata l’esecuzione
dell’istruzione precedente.
PYTHON
JAVASCRIPT
Nella interrelazione
con il DOM o con un
server
3. Javascript e Node.js
Node.js è un versione di javascript che può
essere eseguita dal server.
Per fare i primi passi in javascript, utilizzeremo
la versione node.js eseguita da server che, non
interagendo con il dom, non pone problemi di
esecuzione asincrona delle istruzioni.
9. Blocco if
Javascript Python
var V1=20;
var RIS='';
if (V1<5) {RIS="V1 is <=5";}
else if (V1<15) {RIS="V1 is ranging 5-15";}
else {RIS="V1 is >=15";}
V1=20
if V1<5: RIS="V1 is <=5"
elif V1<15: RIS="V1 is ranging 5-15"
else: RIS="V1 is >=15";
10. Ciclo for
Javascript Python
var text=''
for (var i=0; i<10; i=i+1) {text = text +" " + i}
text=''
for i in range(0,10):
text = text +" " + str(i)
11. Ciclo while
Javascript Python
var i=0;
var text=''
while (i < 10) {text = text +" " + i; i=i+1;}
text=''
i=0
while True:
text = text +" " + str(i)
i=i+1
if i >= 10:
break
13. Oggetti globali javascript e Node.js
javascript Node.js
console console
E’ un oggetto globale che fornisce una interfaccia di debug.
console.log(‘......’) console.log(‘.....’)
Scrive la stringa passata come argomento nello standard output
L’oggetto console di Node.js non replica perfettamente l’oggetto console dei principali
browser. Ad esempio non ha implementato il metodo .clean() per cancellare il
contenuto dello standard output
14. Moduli base Node.js e python
Node.js Python
os sys path process os
var os=require('os');
var sys=require('sys');
var path=require('path');
import os
import sys
sys
process.env.PATH sys.path
path.dirname()
path.join('...','...’')
process.cwd();
os.hostname()
os.arch()
process.pid
os.path.curdir
os.sys.join(‘......’, ‘.......’)
os.path.abspath(os.path.curdir)
os.uname()
os.getpid()
17. Funzioni: tramite dichiarazione
Javascript Python
function Sum(N1,N2){
// This function does sum of two number
console.log('Sum is running')
S=N1+N2;
return S
}
var N;
N=Sum(12,74);
def Sum(N1,N2):
‘’’This function does sum of two number’’’
print('Sum is running')
S=N1+N2;
return S
N=Sum(12,74);
18. Funzioni: tramite assegnazione
Javascript
var Sum= function (N1,N2){
// This function does sum of two number
console.log('Sum is running')
S=N1+N2;
return S
}
var N;
N=Sum(12,74);
dal punto di vista funzionale, la creazione di
una funzione tramite dichiarazione è
equivalente alla creazione tramite
assegnazione. La creazione tramite
assegnazione può essere utile in termini di
“chiarezza del codice” quando si vuole
utilizzare la funzione come input di un’altra
funzione. Ad esempio
var SAY=function(WORD)
{console.log(WORD);}
function Exec(someF, VAL)
{someF(VAL);}
Exec(SAY, "Hello");
19. Funzioni: dichiarazione e assegnazione
Le funzioni create tramite dichiarazione sono caricate in
memoria centrale prima di processare le altre istruzioni.
Una funzione creata tramite dichiarazione può essere
posizionata anche dopo la sua chiamata.
20. Scope delle variabili interne ad una funzione
Javascript Python
possono essere sia locali
che globali. Sono locali se
sono create tramite il
costruttore ‘var’. Sono
globali se sono create
tramite una semplice
assegnazione.
una variabile creata
all’interno di una funzione
è sempre locale, a meno
che essa prima di essere
creata non sia stata
definita come ‘global’