Blog

Javascript VS Python: sintassi a confronto

Ad oggi essere in grado di programmare con Python e programmare in JavaScript ci rende degli sviluppatori molto versatili su diversi fronti. Questo perché stiamo parlando di due dei linguaggi di programmazione più usati a livello mondiale. In ambito lavorativo presentarsi come sviluppatore Python e JavaScript diventa un bel biglietto da visita, essendo questi alcuni dei linguaggi di programmazione più richiesti dalle software house in Europa e oltreoceano.

Imparare Python apre le porte a molte frontiere, quali intelligenza artificiale, sistemi ERP o analisi dei dati. Imparare JavaScript di contro, permette di padroneggiare in maniera egregia lo sviluppo web, andando man mano a capire come funzionano i vari framework che adottano questo linguaggio di programmazione.

Sono due linguaggi tanto potenti quanto diversi, anche se entrambi possono essere utilizzati per lo sviluppo web (attraverso vari framework o nativamente), con la bilancia che pesa verso JavaScript in quanto più versatile sia per il back-end, che per il front-end.

Il linguaggio JavaScript sintatticamente sarà molto diverso dal codice Python, per addentrarci meglio in questi linguaggi andiamo a scoprire quali sono queste grandi differenze:

 

Definizioni di variabili:

L’assegnamento è uno dei primi concetti che si assimilano quando si impara a programmare. Per definire una variabile in Python scriviamo il nome di quest’ultima seguita dal segno = e il valore che sarà assegnato a questa. 

x = 7

In JavaScript la sintassi è simile, ma davanti al nome della variabile dobbiamo inserire la parola chiave var o let e alla fine della riga di codice il “;” per chiudere lo statement.

let x = 7;

NOTA BENE: in Python non è necessario inserire il “;” alla fine di ogni riga di codice. È una delle grandi differenze sintattiche rispetto la grande maggioranza dei linguaggi di programmazione più usati.

 

Blocchi di codice:

Lo stile sintattico di un linguaggio è definito proprio da questi blocchi. Nella programmazione in Python dobbiamo dimenticarci delle parentesi graffe per aprire/chiudere cicli, metodi, if-statement, rimpiazzate comodamente dai due punti “:”.

if x == 7:
   print(x)

Nel linguaggio JavaScript si segue la sintassi delle parentesi graffe. Una sintassi che troviamo comunemente in quasi tutti i linguaggi di programmazione più richiesti (C#, Java, PHP ecc…).

function foo(x) {
   console.log(x);
}

 

Funzioni

Introdotte in parte nell’esempio precedente, le funzioni in Python sono introdotte dalla parola chiave def che anticipa il nome della nostra funzione e le consuete parentesi tonde.

def function_name(x, y, …):
   print(x+y)

In JavaScript vale ciò che è stato affermato in precedenza, con la differenza che la parola chiave ad anticipare il nome della funzione è function.

function function_name(x, y, …){
   console.log(x+y);
}

C’è però una differenza sostanziale non propriamente sintattica. Nel codice Python, il numero di argomenti passati alla chiamata di funzione deve corrispondere al numero di parametri definiti nella definizione della funzione. In caso contrario, si verificherà un'eccezione. Nella programmazione JavaScript questo non è necessario, poiché i parametri sono opzionali.

 

Tipi di dati

La tipizzazione in Python è risicata, in quanto non abbiamo bisogno di definire il tipo di dato prima di dichiarare la variabile. I tipi di dati primitivi in Python sono: int, float, bool e str. Mentre in JavaScript ne troviamo diversi: Number, undefined, Boolean, String, Symbol, null e BigInt.

Se in JS null è considerato un tipo di dato primitivo, in Python non lo è, e, sintatticamente viene scritto in maniera diversa, ovvero None.

 

Scrivere i commenti

Per un codice Python facilmente comprensibile e ben documentato è importante sapere come scrivere i commenti. Vediamo un breve esempio:

x = 3+2 # x is the sum of two integers

Il commento corrisponde alla parte dopo il “#”, che spiega cosa fa quella specifica riga o blocco di codice.

Lato JS la sintassi dei commenti cambia, scriveremo il commento dopo “//”.

let x = 3+2 // x is the sum of two integers

 

Operatori

essenziali per scrivere espressioni nei linguaggi di programmazione, in Python si distinguono in vario modo. Nell’esempio che segue vengono mostrati in ordine: divisione tra interi, comparazione tra due valori o tipi di dati, operatori logici

x=5
y=6
x // y
if (x==y):
   print(x+y)
if (x > y and x % 2):
   print(x)
if (x>y or x<y):
   print(x)
if (x not y):
   print(x+y)

or, not e and sono gli operatori logici utili per creare una specifica condizione. Nello stesso ordine in JS hanno una sintassi totalmente diversa.

x=5;
y=6;
Math.floor(x/y);
if (x==y) {
   console.log(x+y);
}
if (x > y && x % 2) {
   console.log(x);
}
if (x>y || x<y) {
   console.log(x);
}
if (x ! y) {
   console.log(x+y);
}

L’unico operatore a restare uguale è il “==”. Se però in JavaScript vogliamo verificare se sia il valore che il tipo di dato sono uguali, dobbiamo ricorrere a questo operatore: “===”.

 

Cicli e if-statement

La differenza sintattica tra Python e JS negli if la si evince in quasi tutti gli esempi che sono stati riportati. Basta confrontarli per capire che sintatticamente cambia poco.

Nel ciclo for invece, in Python, la parola chiave sarà seguita dal nome della variabile del loop e da un’altra parola chiave in che chiama la funzione base range(). All’interno di questa funzione sarà necessario specificare i parametri entro cui eseguire il loop.

Il for in JavaScript è invece molto simile a quello di C# o Java. Dopo la parola chiave del loop, nelle parentesi tonde verrà inserito, in questo ordine, l’indice che dà il via al loop, la condizione entro cui il loop deve interrompersi e l’incremento di questo indice.

for i in range(n):
   # do something
for (var i = 0; i < n; i++) {
   // do something
}

Il while loop invece è molto simile, potremmo dire uguale, se non per la solita discrepanza tra i “:” (in Python) e le parentesi graffe (in JS).

while True:
   #do something
    while (True) {
       // do something
    }

    Si evince quanto sintatticamente JavaScript e Python siano diversi. Questo potrebbe essere un ostacolo, ma bisogna immaginare come se si stesse imparando due nuove lingue. La sintassi dell’italiano non è uguale a quella dell’inglese, che non è paragonabile a quella del francese e via discorrendo. C’è da dire che Python, per essere un object-oriented, non è minimamente simile a tutti i suoi “colleghi”. Di contro JavaScript è sintatticamente molto simile a Java o C#, se vogliamo dirne un paio.

    Sotto questo aspetto forse imparare JavaScript diventa più facile, in quanto non siamo tenuti a imparare da zero (sintatticamente) il linguaggio.

    Questo non deve impedirti di cimentarti in un linguaggio piuttosto che un altro, anzi. Esercitarsi con due linguaggi di programmazione così sintatticamente distanti allena molto la memoria muscolare, utile per scrivere rapidamente codice pulito e comprensibile.

    E tu quale preferisci?

     

    Articoli correlati

    Il linguaggio HTML (Hypertext Markup Language) è uno dei più conosciuti e diffusi: lo si trova infatti praticamente in tutte le pagine web esistenti. È una scelta popolare tra i principianti che si…
    Essere uno sviluppatore web vuol dire imparare più linguaggi di programmazione per poter creare diversi tipi di applicazioni.  Per ogni applicazione, la maggior parte delle volte, …
    Un buon programmatore, si sa, necessita di un ampio bagaglio di conoscenze per potersi districare tra le difficoltà che questo mestiere comporta. Oggi le richieste sul mercato sono molteplic…
    Il settore tech è appannaggio esclusivo della popolazione maschile? Questo preconcetto è abbastanza diffuso, ma come stanno davvero le cose? Oggigiorno il mondo tech, non solo in Italia, è in gran …
    Offrire agli utenti di un sito o di un’applicazione un’esperienza di utilizzo positiva è cruciale per creare un prodotto che soddisfi le aspettative del committente. Ecco perché, tra le mansion…
    Valutare in modo accurato i tempi di lavoro è un fattore importante per mantenere alta la produttività del team e completare progetti nei tempi prestabiliti. È utile, inoltre, per tenere aggiornati…

    Seguici su Facebook

    Scopri di più sul corso Hackademy

    Inizia la tua nuova carriera nel mondo digital e tech.

    Candidati ora

    Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.

    Pagamento rateale

    Valore della rata: A PARTIRE DA 112 €/mese.

    Esempio di finanziamento  

    Importo finanziato: € 2440 in 24 rate da € 112 – TAN fisso 9,37% TAEG 12,57% – importo totale del credito € 2788,68.

    Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/07/2023 al 31/12/2023.

    Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

    * In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

    Pagamento rateale

    Valore della rata: A PARTIRE DA 183 €/mese.

    Esempio di finanziamento 

    Importo finanziato: € 3990 in 24 rate da € 183 – TAN fisso 9,37% TAEG 12,57% – importo totale del credito € 4496,56.

    Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/07/2023 al 31/12/2023.

    Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

    * In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.