J'ai écrit cet article parce que j'ai vu quelqu'un poser cette question sur Zhihu, et je me suis demandé comment une question aussi conne pouvait exister, mais ensuite j'ai pensé que le moi con de l'époque semblait aussi incapable de comprendre la relation entre les deux ; la cognition nécessite un processus.

Puis j'ai vu quelques réponses classiques : la relation entre Java et JavaScript est comme la relation entre Lei Feng et la pagode Leifeng, et aussi comme la relation entre une épouse et un gâteau de l'épouse.

9c32a3e498cb5822f8fb3cd0d07b4a78_m

On pense généralement que la raison pour laquelle Netscape a nommé LiveScript JavaScript à l'époque était que Java était le langage de programmation le plus populaire à ce moment-là, et que le nom « Java » aidait à la diffusion de ce nouveau langage.

Leurs points communs incluent :

  • Leur syntaxe est très similaire à celle du langage C ;
  • Ils sont tous les deux orientés objet (bien que mis en œuvre de façons légèrement différentes) ;
  • JavaScript s'est inspiré des conventions de nommage de Java dans sa conception ;

Leurs différences incluent :

  • JavaScript est un langage à typage dynamique, tandis que Java est un langage à typage statique ;
  • JavaScript est faiblement typé, tandis que Java est fortement typé ;
  • L'orientation objet de JavaScript est mise en œuvre sur la base de prototypes (prototype-based), tandis que Java est basé sur les classes (class-based) ;

Outre une certaine ressemblance avec Java, le style de langage de JavaScript est très différent. Les langages dont la conception de JavaScript s'est inspirée ne comprenaient pas Java, mais comprenaient des langages comme Self et Scheme.