web-dev-qa-db-fra.com

Quelle est la différence entre JavaScript et Java?

Quelle est la différence entre JavaScript et Java?

77
Guy

Java et Javascript sont similaires, tout comme Car and Carpet.

573
Greg Hewgill

L’un est essentiellement un jouet, conçu pour écrire de petits morceaux de code, traditionnellement utilisé et abusé par des programmeurs inexpérimentés.

L'autre est un langage de script pour les navigateurs Web.

408
Shog9

Voici quelques différences entre les deux langues:

  • Java est un langage statiquement typé. JavaScript est dynamique.
  • Java est basé sur les classes; JavaScript est basé sur un prototype.
  • Les constructeurs Java sont des fonctions spéciales qui ne peuvent être appelées qu'à la création d'un objet. Les "constructeurs" JavaScript ne sont que des fonctions standard.
  • Java exige que toutes les instructions non bloquantes se terminent par un point-virgule; JavaScript insère des points-virgules aux extrémités de certaines lignes.
  • Java utilise la portée basée sur des blocs; JavaScript utilise la portée basée sur la fonction.
  • Java a une portée implicite this pour les méthodes non statiques et une portée de classe implicite; JavaScript a une portée globale implicite.

Voici quelques fonctionnalités qui, à mon avis, sont des atouts particuliers de JavaScript:

  • JavaScript supporte les fermetures; Java peut simuler des "fermetures" en utilisant des classes anonymes. (Les fermetures réelles peuvent être prises en charge dans une future version de Java.)
  • Toutes les fonctions JavaScript sont variadiques; Les fonctions Java ne sont variadiques que si elles sont explicitement marquées.
  • Les prototypes JavaScript peuvent être redéfinis au moment de l'exécution et ont un effet immédiat sur tous les objets référents. Les classes Java ne peuvent pas être redéfinies de manière à affecter les instances d'objet existantes.
  • JavaScript permet de redéfinir les méthodes dans un objet indépendamment de son prototype (pensez aux classes propres en Ruby, mais sur des stéroïdes); Les méthodes d'un objet Java sont liées à sa classe et ne peuvent pas être redéfinies au moment de l'exécution.
189
Chris Jester-Young

Jetez un coup d'œil au lien Wikipedia

Malgré son nom, JavaScript n’a essentiellement aucun rapport avec le langage de programmation Java, bien qu’ils aient tous les deux la même syntaxe C, et JavaScript copie de nombreux noms Java et conventions de dénomination. Le langage s'appelait à l'origine "LiveScript", mais a été renommé dans le cadre d'un contrat de co-marketing entre Netscape et Sun, en échange de l'intégration de Netscape dans l'exécution Java de Sun avec son navigateur alors dominant. Les principes de conception clés de JavaScript sont hérités des langages de programmation Self et Scheme.

52
toolkit

Tout.

JavaScript a été nommé ainsi par Netscape pour inciter les imprudents à penser que cela avait quelque chose à voir avec Java, le mot à la mode de la journée, et cela a réussi.

Les deux langues sont entièrement distinctes.

38
ddaa
24
Alpine

JavaScript est un langage orienté objet scripting qui vous permet de créer des pages HTML dynamiques, vous permettant de traiter les données d'entrée et de gérer celles-ci, généralement dans le navigateur.

Java est un langage de programmation, un ensemble principal de bibliothèques et une plate-forme de machine virtuelle qui vous permet de créer des programmes compilés s'exécutant sur presque toutes les plates-formes, sans distribution du code source sous forme brute ni recompilation.

Bien que les deux portent des noms similaires, ce sont en réalité deux langages/modèles/plates-formes de programmation complètement différents, et sont utilisés pour résoudre des ensembles de problèmes complètement différents.

En outre, cela provient directement de Wikipedia article Javascript :

Une idée fausse commune est que JavaScript est similaire ou étroitement lié à Java; ce n'est pas le cas. Les deux ont une syntaxe de type C, sont orientés objet, sont généralement en bac à sable et sont largement utilisés dans les applications Web côté client, mais les similitudes s'arrêtent là. Java a un typage statique; Le typage JavaScript est dynamique (ce qui signifie qu'une variable peut contenir un objet de tout type et ne peut être restreinte). Java est chargé à partir du bytecode compilé; JavaScript est chargé en tant que code lisible par l'homme. C est leur dernier langage ancestral commun.

23
Bill the Lizard

En plus d'être des langues totalement différentes, selon mon expérience:

  • Java a l'air sympa au début, plus tard, ça devient agaçant.
  • JavaScript a l'air horrible et sans espoir au début, puis petit à petit, vous commencez vraiment à l'aimer.

(Mais cela peut avoir plus à voir avec ma préférence pour la programmation fonctionnelle que OO programmer ...;)

17

Tout. Ce sont des langues sans rapport.

14
Kirk Strauser

Ce sont des langues indépendantes avec des lignées non apparentées. Brendan Eich a créé Javascript à l'origine chez Netscape. Il s'appelait initialement Moka. Le choix de Javascript comme nom était un signe de tête pour le langage de programmation alors ascendant Java, développé par Sun par Patrick Naughton, James Gosling, et. Al.

8
Don Wakefield

Comme tout le monde le dit, ils sont très différents.

Cependant, si vous avez besoin d'un langage script pour votre application Java, Javascript est un très bon choix. Il existe des moyens d’exécuter Javascript dans la machine virtuelle et vous pouvez accéder et manipuler les classes Java de manière très transparente une fois que vous le faites.

5
Darcy Casselman

Ils n'ont rien à faire ensemble.

Java est typé statiquement, compile et s'exécute sur sa propre machine virtuelle.

Javascript est typé, interprété et exécuté dynamiquement dans un navigateur. Il possède également des fonctions de première classe et des fonctions anonymes, ce que Java ne possède pas. Il dispose d'un accès direct aux éléments de page Web, ce qui le rend utile pour effectuer un traitement côté client.

Leur syntaxe est également similaire, mais c’est à peu près tout.

2
Claudiu

Ne soyez pas confondu avec le nom ..
Java a été créé chez Sun Microsystems (maintenant Oracle).
Cependant, JavaScript a été créé chez Netscape (maintenant Mozilla) aux débuts du Web et, techniquement, "Java-Script" est une marque sous licence de Sun Microsystems utilisée pour décrire la mise en oeuvre du langage par Netscape. Netscape a soumis le langage de normalisation à l'ECMA (Association européenne des constructeurs d'ordinateurs) et, en raison de problèmes de marque, la version normalisée de la langue portait le nom peu pratique "ECMAScript". Pour les mêmes raisons de marque, la version de Microsoft du langage est officiellement connue. "JScript". En pratique, à peu près tout le monde appelle le langage JavaScript. Le vrai nom est "ECMAScript".

Les deux sont des langues complètement différentes !!!

2
user577898

Pratiquement tous les ordinateurs du monde vend avec au moins un interpréteur JavaScript installé.

La plupart des ordinateurs (mais pas tous) ont un Java VM installé.

1
Will Peavy

ne réintroduction de Javascript par l'équipe de Mozilla (ils fabriquent Firefox) devrait l'expliquer.

0
isomorphismes