JavaScript Fondamenti per il web

Introduzione
JavaScript Fondamenti per il web porta alcune limitazioni al programmatore il quale deve badare sono che lo stesso JavaScript può essere disabilitato dal navigatore tramite le impostazioni del browser perché è un linguaggio lato client, lavora cioè sul computer dell’utente.

Per questo è meglio non demandare a JavaScript funzioni importanti (ad esempio invio di form) ripiegando su linguaggi lato server come PHP (la tecnica per disabilitare JavaScript varia da browser a browser, ma basta fare una ricerca su Google del tipo Disabilitare JavaScript su nomebrowser per sapere la procedura); inoltre JavaScript ha diversi gradi di compatibilità con i differenti browser e loro versioni più o meno recenti.

JavaScript non è Java!
Java è interpretato, viene eseguito sul server, è un linguaggio di programmazione con cui si realizzano veri e propri programmi. È fortemente tipizzato. JavaScript è compilato, viene eseguito sul client, è un linguaggio per realizzare script con cui si possono creare begli effetti. È debolmente tipizzato. Entrambi hanno comunque alcune strutture simili ed inoltre JavaScript è propedeutico per imparare qualsiasi altro linguaggio di scripting o programmazione.

Compilati, Interpretati, Semi-intepretati
Tutti i linguaggi di programmazione permettono di gestire le attività desiderate attraverso l’uso delle istruzioni. Il codice scritto dal programmatore utilizza tali istruzioni e si chiama sorgente. Il programma sorgente per essere eseguito deve essere, a seconda del tipo di linguaggio utilizzato, compilato, interpretato o semi-interpretato.
Compilazione: il programma sorgente viene tradotto in linguaggio macchina (cioè viene compilato) un’unica volta e per essere eseguito, si lancia direttamente il programma tradotto (es. Cobol, C, C++, Visual Basic); questi linguaggi compilati, detti anche linguaggi imperativi, hanno prestazioni migliori.

Interpretazione: il programma sorgente, per essere eseguito, viene tradotto in linguaggio macchina ogni volta (cioè viene interpretato), quindi il programma tradotto non esiste (es. JS, PHP); la potenza di questi linguaggi è l’alta portabilità e l’immediatezza tra quello che si scrive e quello che viene eseguito, ma rimangono problemi come la ricerca di errori nel codice sorgente o il carico di lavoro maggiore per il processore (che ogni volta deve interpretare il programma sorgente).
Semi-interpretazione: linguaggi di programmazione come Java e C#, sono semi-interpretati, perché il sorgente viene tradotto in uno pseudo linguaggio macchina, chiamato codice intermedio (Bytecode per Java, Assembly per C# – C sharp). Il codice intermedio, a sua volta, viene interpretato (dalla famosa JVM Java Virtual Machine nel caso di Java) al volo e inviato al processore. Ciò permette di controllare eventuali errori del codice sorgente e di creare programmi relativamente leggeri, ma pecca nelle prestazioni, non proprio soddisfacenti
Ecco una scheda riepilogativa di alcuni linguaggi di programmazione:

  • 1940 Assembler Assemblato
  • 1950 Fortran Compilato
  • 1950 Cobol Compilato
  • 1960 Algol Compilato
  • 1960 Basic Interpretato
  • 1970 Pascal Compilato
  • 1970 C Compilato
  • 1980 C++ Compilato
  • 1990 Java Semi-Interpretato
  • 1995 JavaScript Interpretato
  • 2000 C# Semi-Interpretato

Alto e basso livello
I linguaggi di programmazione si dividono in alto e basso livello. Quelli di Alto livello sono più vicini (orientati) al linguaggio dell’uomo (tutti i linguaggi che si capiscono leggendoli; essi sono in lingua inglese), mentre quelli a Basso livello sono più vicini al linguaggio della macchina, es. Assembly, risultano più veloci, ma sono più difficili (sono scritti prevalentemente in codice binario, 0 e 1, ognuno dei quali è detto bit, binary digit traducibile in numero binario).

Algoritmo e diagramma di flusso
Un programma, definibile graficamente da un Algoritmo attraverso un diagramma di flusso, è un insieme d’istruzioni organizzate logicamente, con l’obiettivo di risolvere un problema. Vediamo il significato dei blocchi elementari di un diagramma:

  • Ovale indica i limiti del processo (Inizio e Fine)
  • Rettangolo indica un blocco di azione
  • Rombo indica un blocco decisionale
  • Linea indica una interconnesione
  • Parallelepipedo indica comunicazioni con l’esterno (Input e Output)

Parole chiave riservate
In JavaScript, come in tutti i linguaggi di programmazione, vi sono parole riservate che hanno un significato particolare e sono inutilizzabili come nomi di variabile, funzione, metodo, oggetto esse sono, solo per citare le più note:boolean, break, byte, case, char, const, default, do, double, else, enum, false, float, for, function, goto, if, int, long, null, private, public, return, short, static, switch, this, true, var, void, while, with.

JavaScript Fondamenti per il web