Java vs. JavaScript

Java è un linguaggio di programmazione orientato agli oggetti che viene utilizzato per creare una vasta gamma di software back-end per computer e Web. JavaScript è un linguaggio di scripting utilizzato principalmente per alterare e migliorare l'aspetto o il comportamento delle pagine Web e delle applicazioni basate su Web eseguite in un browser. Entrambi i linguaggi sono influenzati dal C e dal C ++. Questo confronto esamina l'uso, la sintassi, le curve di apprendimento e i framework popolari sia per Java che per Javascript.

Tabella di confronto

Tabella di confronto Java contro JavaScript
Giava JavaScript
Introduzione (da Wikipedia)Java è un linguaggio di programmazione che è simultaneo, basato sulla classe, orientato agli oggetti e specificamente progettato per avere il minor numero possibile di dipendenze di implementazione.JavaScript è un linguaggio di programmazione per computer interpretato.
Progettato daJames Gosling e Sun MicrosystemsBrendan Eich
Apparso in19951995; 18 anni fa
Influenzato daAda 83, C ++, C #, Eiffel, Java generico, Mesa, Modula-3, Oberon, Objective-C, UCSD Pascal, SmalltalkC, Java, Perl, Python, Scheme, Self
Principali implementazioniOpenJDK, molti altriNetscape
Terminatori di dichiarazioniPunto e virgola terminatoPunto e virgola terminato
Disciplina di battituraStatico, forte, sicuro, nominativo, manifestodinamico, debole, anatra
codicecompilato in bytecodeI codici sono tutti in testo, non è necessario compilarli
InfluenzatoAda 2005, BeanShell, C #, Clojure, D, ECMAScript, Groovy, J #, Javascript, PHP, Python, Scala, Seed7, ValaActionScript, CoffeeScript, Dart, JScript .NET, Objective-J, QML, TIScript, TypeScript
Gira suMacchina virtualeprogramma di navigazione in rete

usi

Come linguaggio di programmazione avanzato, Java supporta molte applicazioni, sia grandi che piccole, dalle app su Android o iPhone, ai lettori Blu-Ray, a giochi come Minecraft.

JavaScript è noto soprattutto per il suo utilizzo nel web design. Molto spesso, è il linguaggio dietro sottili animazioni grafiche, giochi molto semplici, transizioni creative e messaggi di avviso su una pagina Web. JavaScript viene anche utilizzato per chiamare altri script da tutto il Web, come uno script pubblicitario di Google o un "widget" di social media da Twitter o Facebook.

Mentre JavaScript è iniziato come un linguaggio di scripting "front-end" per le pagine Web, sta diventando sempre più popolare per la programmazione lato server tramite NodeJS. I recenti progressi in JavaScript (ECMAScript) hanno anche portato il linguaggio verso un paradigma più orientato agli oggetti.

Per i siti Web

JavaScript si trova comunemente nelle applicazioni "front-end", vale a dire le pagine Web fornite ai browser degli utenti. Con node.js, JavaScript può essere utilizzato anche per creare applicazioni "back-end" o lato server.

Al contrario, Java è più comunemente usato per l'elaborazione back-end sul lato server. Le applet Java possono essere utilizzate per le app basate su browser, ma richiedono un plug-in Java e non possono essere eseguite in modo nativo nei browser Web.

Per applicazioni desktop

A partire dalla fine degli anni '90, Java era il linguaggio di programmazione preferito dalle applicazioni desktop perché offriva supporto multipiattaforma. Ciò significa che gli sviluppatori di applicazioni potrebbero scrivere i loro programmi in Java e che verrebbero eseguiti su desktop Windows, Mac e Linux senza che sia necessario apportare modifiche.

Applicazioni mobili

Le app Android native sono scritte in Java e anche le piattaforme smartphone più vecchie come Symbian e Bada supportano Java. Le app mobili possono anche essere scritte in JavaScript, ma di solito ci sono alcune limitazioni:

  • Sono necessari strumenti di terze parti come Titanium Appcelerator o Phonegap per convertire il codice JavaScript nel rispettivo codice nativo che la piattaforma mobile può eseguire.
  • L'aspetto di un'app mobile scritta in JavaScript è spesso dissimile da ciò che il codice nativo può produrre.
  • Non tutte le funzionalità offerte da uno smartphone possono essere utilizzate dalle app JavaScript. Alcune funzioni come il controllo della durata della batteria sono disponibili solo per il codice nativo.

Il potenziale vantaggio dell'utilizzo di JavaScript per le app mobili è la possibilità di riutilizzare una percentuale maggiore della base di codice su piattaforme mobili.

Sistemi integrati

Java è una piattaforma tecnologica matura e stabile e può spesso essere trovata in sistemi embedded, di solito in esecuzione su un sistema operativo Linux sottostante.

Apprendimento

Poiché Java e JavaScript dispongono di un'ampia documentazione e comunità online attive, l'apprendimento di entrambe le lingue dovrebbe essere gratuito e relativamente semplice. Tuttavia, Java ha una ripida curva di apprendimento, mentre JavaScript sembrerà probabilmente più facile da iniziare a causa di come funziona in un browser web. Se vuoi creare applicazioni, dovresti imparare Java. Se vuoi creare siti Web, dovresti imparare JavaScript.

Puoi iniziare ad imparare Java gratuitamente con il sito web Learn Java. Questo video offre anche un breve tutorial su Java:

Codecademy offre tutorial dettagliati gratuiti per JavaScript e una delle sue librerie più popolari, jQuery.

Quello che segue è un video tutorial JavaScript:

Sintassi

La sintassi di Java è simile a quella di C e C ++. Non ha variabili o funzioni globali. Il codice è contenuto nelle classi e i valori sono oggetti.

Il seguente codice stampa — visualizza — le parole "Ciao, Mondo!" su una pagina web.

 class HelloWorld {public static void main (String [] args) {System.out.println ("Ciao, mondo!"); // Mostra ciao. }} 

Anche la sintassi di JavaScript è influenzata da C e le convenzioni di denominazione sono simili a quelle che si trovano in Java.

Il codice seguente visualizza una finestra di dialogo con le parole "Ciao, mondo!" dentro.

 alert ('Ciao, mondo!'); 

Quadri e librerie popolari

Nella progettazione e nello sviluppo moderni, Java e JavaScript sono spesso "filtrati" attraverso framework e librerie, che sono strumenti di sviluppo che semplificano la programmazione. La differenza tra un framework e una libreria è contestata, con i termini talvolta usati in modo intercambiabile, ma il modo più semplice di differenziare i due è sapere che un framework fornisce un sistema "scheletro" su cui lavorare, mentre una libreria fornisce strumenti specifici per costruire su un sistema.

Alcuni dei framework più popolari di Java includono Spring MVC, JSF, Struts, GWT e Play.

JavaScript ha un numero di librerie popolari, tra cui jQuery e jQuery UI, Prototype, Mootools e Node.js.

Popolarità Java vs JavaScript

In un certo senso sia Java che JavaScript promettono supporto multi-piattaforma: Java perché la sua JVM è disponibile per molti sistemi operativi e JavaScript perché i browser Web sono disponibili per gli utenti di tutti i sistemi operativi. Quindi non sorprende che sia JavaScript sia Java siano molto popolari tra gli sviluppatori.

Tuttavia JavaScript negli ultimi 5 anni ha registrato un'impennata di popolarità ed è ora la lingua più popolare su GitHub, misurata in base al numero di progetti o al numero di richieste pull. [1] [2]

Nuovi repository Github per linguaggio di programmazione, basati sull'analisi di Donnie Berkholz.

Supporto

Per gli utenti, tutti i moderni sistemi operativi supportano Java (di solito tramite Oracle) e tutti i browser moderni supportano JavaScript. Per gli sviluppatori Web, la creazione di script in JavaScript sarà semplice, mentre la creazione di applicazioni Java online sarà più complicata, e non solo a causa della natura difficile del linguaggio stesso. Pochi host web condivisi ospiteranno applicazioni Java a causa della quantità di memoria che tendono a utilizzare su un server. A causa di questo aspetto negativo di Java, altri linguaggi, come PHP, Ruby e Python, continuano ad essere più popolari ai fini dello sviluppo web, anche se spesso sono più lenti in altri modi.

Licensing

Come lingue, né Java né JavaScript sono intrinsecamente open source, ma molte implementazioni o usi delle lingue sono aperte. In altre parole, la modifica della struttura effettiva delle lingue può essere gestita e standardizzata da standard e specifiche ufficiali, ma l'utilizzo delle lingue sarà gratuito per la maggior parte dei progetti.

Storia e influenze

Java è stato creato da Sun Microsystems nel 1991. Gli sviluppatori intendevano che Java venisse utilizzato nella televisione interattiva, ma ciò non è stato realizzato. Invece, un'implementazione pubblica di Java è stata rilasciata nel 1995 per l'uso in computer e browser web. Undici anni dopo, nel 2006, Sun si è impegnato in uno standard più aperto per Java, rilasciando parti del linguaggio con una licenza GNU open source.

Da quando Oracle Corporation ha acquisito Sun Microsystems nel 2009, questo standard è rimasto. Tuttavia, Oracle è stato più perseguitato nei suoi sforzi per inseguire aziende e sviluppatori che non hanno ottenuto l'approvazione delle loro opere Java. Questo è stato al centro di un acceso caso giudiziario del 2012, Oracle v. Google .

Nel frattempo, JavaScript, originariamente noto come Mocha, è stato sviluppato da Netscape nel 1995. Destinato a essere un compagno leggero e intuitivo di Java, JavaScript è stato introdotto per la prima volta dagli utenti tramite il browser Web di Netscape, Netscape Navigator. Successivamente, Microsoft ha sviluppato un linguaggio concorrente, JScript, mentre gli sviluppatori di JavaScript hanno cercato supporto e standardizzazione per il loro linguaggio. Ciò è stato raggiunto nel 1996 quando l'ECMA ha preso il controllo dello sviluppo di JavaScript, che ha contribuito a spianare la strada al supporto e all'adozione internazionale in tutti i browser web. Tecnicamente, il linguaggio dovrebbe essere chiamato ECMAScript, ma la maggior parte lo conosce ancora con il suo nome originale di JavaScript.

Articoli Correlati