Qual è la differenza tra JavaScript e Java?

Qual è la differenza tra JavaScript e Java?

Java e Javascript sono simili come Car e Carpet sono simili.

Uno è essenzialmente un giocattolo, progettato per scrivere piccoli pezzi di codice, e tradizionalmente usato e abusato da programmatori inesperti.

L’altro è un linguaggio di scripting per i browser web.

Ecco alcune differenze tra le due lingue:

  • Java è un linguaggio tipizzato staticamente; JavaScript è dinamico.
  • Java è basato sulla class; JavaScript è basato su prototipi.
  • I costruttori Java sono funzioni speciali che possono essere chiamate solo alla creazione dell’object; I “costruttori” di JavaScript sono solo funzioni standard.
  • Java richiede che tutte le istruzioni non di blocco terminino con un punto e virgola; JavaScript inserisce il punto e virgola all’estremità di determinate righe.
  • Java utilizza l’ambito basato su blocchi; JavaScript utilizza l’ambito basato sulla funzione.
  • Java ha implicitamente this ambito per i metodi non statici e l’ambito della class implicita; JavaScript ha uno scopo globale implicito.

Ecco alcune caratteristiche che ritengo siano punti di forza particolari di JavaScript:

  • JavaScript supporta le chiusure; Java può simulare l’ordinamento di “chiusure” usando classi anonime. (Le chiusure reali potrebbero essere supportate in una versione futura di Java.)
  • Tutte le funzioni JavaScript sono variadic; Le funzioni Java sono variabili solo se esplicitamente contrassegnate.
  • I prototipi JavaScript possono essere ridefiniti in fase di runtime e hanno effetto immediato su tutti gli oggetti di riferimento. Le classi Java non possono essere ridefinite in un modo che influisce su istanze di oggetti esistenti.
  • JavaScript consente di ridefinire i metodi di un object indipendentemente dal suo prototipo (si pensi agli eigenclasss in Ruby, ma agli steroidi); i metodi in un object Java sono legati alla sua class e non possono essere ridefiniti in fase di runtime.

Dai un’occhiata al link di Wikipedia

JavaScript, nonostante il nome, è essenzialmente non correlato al linguaggio di programmazione Java, sebbene entrambi abbiano la comune syntax C e JavaScript copia molti nomi e convenzioni di denominazione Java. Il linguaggio era originariamente chiamato “LiveScript”, ma è stato ribattezzato in un accordo di co-marketing tra Netscape e Sun, in cambio di Netscape che raggruppava il runtime Java di Sun con il loro browser allora dominante. I principi di progettazione chiave all’interno di JavaScript sono ereditati dai linguaggi di programmazione Self e Scheme.

Qualunque cosa.

JavaScript è stato chiamato così da Netscape per confondere gli incauti nel pensare che avesse qualcosa a che fare con Java, la parola d’ordine del giorno, e ci è riuscito.

Le due lingue sono completamente distinte.

inserisci la descrizione dell'immagine qui
Java è JavaScript come ham è criceto

JavaScript è un linguaggio di scripting orientato agli oggetti che consente di creare pagine HTML dinamiche, consentendo di elaborare i dati di input e conservare i dati, in genere all’interno del browser.

Java è un linguaggio di programmazione, un nucleo di librerie e una piattaforma di macchine virtuali che consente di creare programmi compilati che girano su quasi tutte le piattaforms, senza distribuzione del codice sorgente nella sua forma grezza o ricompilazione.

Mentre i due hanno nomi simili, sono in realtà due linguaggi / modelli / piattaforms di programmazione completamente diversi e vengono utilizzati per risolvere serie di problemi completamente diversi.

Inoltre, questo è direttamente dall’articolo Javascript di Wikipedia:

Un malinteso comune è che JavaScript sia simile o strettamente correlato a Java; non è così. Entrambi hanno una syntax C-like, sono orientati agli oggetti, sono in genere sandbox e sono ampiamente usati nelle applicazioni Web lato client, ma le somiglianze finiscono qui. Java ha una battitura statica; La digitazione di JavaScript è dynamic (ciò significa che una variabile può contenere un object di qualsiasi tipo e non può essere limitato). Java viene caricato dal bytecode compilato; JavaScript è caricato come codice leggibile dall’uomo. C è la loro ultima lingua comune degli antenati.

Oltre a essere completamente diverse lingue, nella mia esperienza:

  • Java sembra bello all’inizio, dopo diventa fastidioso.
  • JavaScript sembra orribile e senza speranza all’inizio, poi a poco a poco inizierai davvero a piacerti.

(Ma questo potrebbe avere più a che fare con la mia preferenza per la programmazione funzionale rispetto alla programmazione OO …;)

Qualunque cosa. Sono lingue non correlate.

Sono lingue indipendenti con lignaggi non correlati. Brendan Eich ha creato Javascript originariamente in Netscape. Inizialmente era chiamato Mocha. La scelta di Javascript come nome era un cenno del capo, se lo si desidera, all’ascendente linguaggio di programmazione Java, sviluppato a Sun da Patrick Naughton, James Gosling, et. al.

Come dicono tutti, sono completamente diversi.

Tuttavia, se hai bisogno di un linguaggio di scripting per la tua applicazione Java , Javascript è davvero una buona scelta. Ci sono modi per far funzionare Javascript nella JVM e puoi accedere e manipolare le classi Java senza problemi una volta fatto.

Non hanno niente a che fare l’uno con l’altro.

Java è tipizzato staticamente, compila, gira su una propria VM.

Javascript viene digitato, interpretato e eseguito dynamicmente in un browser. Ha anche funzioni di prima class e funzioni anonime, che Java non ha. Ha accesso diretto agli elementi della pagina web, il che lo rende utile per eseguire l’elaborazione lato client.

Sono anche in qualche modo simili nella syntax, ma questo è tutto.

Non essere confuso con il nome ..
Java è stato creato da Sun Microsystems (ora Oracle).
Ma JavaScript è stato creato da Netscape (ora Mozilla) nei primi giorni del Web e tecnicamente “Java-Script” è un marchio concesso in licenza da Sun Microsystems utilizzato per descrivere l’implementazione della lingua di Netscape. Netscape ha presentato la lingua per la standardizzazione all’ECMA (European Computer Manufacturer’s Association) e, a causa di problemi relativi ai marchi, la versione standardizzata della lingua era bloccata con il nome scomodo “ECMAScript”. Per le stesse ragioni del marchio, la versione Microsoft della lingua è formalmente nota come “JScript”. In pratica, quasi tutti chiamano il linguaggio JavaScript. Il vero nome è “ECMAScript”.

Entrambe sono lingue completamente diverse !!!

Praticamente ogni PC al mondo vende con almeno un interprete JavaScript installato su di esso.

La maggior parte dei PC (ma non tutti “praticamente tutti”) ha una VM Java installata.

Una re-introduzione di Javascript da parte del team di Mozilla (fanno Firefox) dovrebbe spiegarlo.