Ich habe diesen Artikel geschrieben, weil ich gesehen habe, wie jemand diese Frage auf Zhihu gestellt hat, und ich mich gefragt habe, wie es eine so bescheuerte Frage geben kann, aber dann dachte ich daran, dass das bescheuerte Ich von damals offenbar auch nicht in der Lage war, die Beziehung zwischen den beiden zu verstehen; Erkenntnis braucht einen Prozess.
Dann sah ich einige klassische Antworten: Die Beziehung zwischen Java und JavaScript ist wie die Beziehung zwischen Lei Feng und der Leifeng-Pagode und auch wie die Beziehung zwischen Ehefrau und Ehefrauenkuchen.
Es wird allgemein angenommen, dass Netscape LiveScript damals deshalb in JavaScript umbenannte, weil Java zu dieser Zeit die beliebteste Programmiersprache war und der Name "Java" zur Verbreitung dieser neuen Sprache beitrug.
Zu ihren Gemeinsamkeiten gehören:
- Ihre Syntax ist der von C sehr ähnlich;
- Beide sind objektorientiert (obwohl auf leicht unterschiedliche Weise implementiert);
- JavaScript orientierte sich bei seinem Design an Javas Namenskonventionen;
Zu ihren Unterschieden gehören:
- JavaScript ist eine dynamisch typisierte Sprache, während Java eine statisch typisierte Sprache ist;
- JavaScript ist schwach typisiert, während Java stark typisiert ist;
- JavaScripts Objektorientierung basiert auf Prototypen (prototypenbasiert), während Java auf Klassen basiert (klassenbasiert);
Abgesehen davon, dass es Java etwas ähnelt, ist JavaScripts Sprachstil sehr unterschiedlich. Zu den Sprachen, auf die bei JavaScripts Design Bezug genommen wurde, gehörte Java nicht, sondern Sprachen wie Self und Scheme.