В чем разница между JavaScript и Java?

В чем разница между JavaScript и Java?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
77
0
423 512
15
Перейти к ответу Данный вопрос помечен как решенный

Ответы 15

Все. Это неродственные языки.

Удары в руку. Согласно википедии, я должен сделать это после того, как вы сглазили меня, и прежде чем я снова смогу говорить. en.wikipedia.org/wiki/Jinx
ddaa 29.10.2008 01:22

Вы неправильно это поняли - теперь я должен ударить вас. И принеси мне мою кока-колу.

Kirk Strauser 29.10.2008 03:45

Все.

Netscape назвала JavaScript так, чтобы неосторожные люди думали, что он имеет какое-то отношение к Java, модному словечку дня, и это удалось.

Эти два языка совершенно разные.

Первоначально Javascript назывался Livescript, и мир, вероятно, стал бы лучше сегодня, если бы они не переименовали его!

Greg Hewgill 29.10.2008 01:13

Я сомневаюсь, что это должно было вызвать путаницу - какая от этого польза для компании? Я подозреваю, что намерение был основан на успехе Java, хотя эффект был тем, что вы заявили.

paxdiablo 29.10.2008 01:58

«оседлать успех java», назвав что-то не связанное с похожим именем? Для меня это очень похоже на «создание путаницы в маркетинговых целях».

ddaa 29.10.2008 02:04

Sun снова попробовала этот трюк с именованием с «Sun Java Desktop», который, по сути, был фирменной версией Gnome и не имел ничего общего с Java.

Dan Dyer 29.10.2008 03:07

@Pax - Другими словами, он сбивал с толку неосторожных, заставляя думать, что это как-то связано с Java, модным словом дня.

Kirk Strauser 29.10.2008 03:47

Да, и это сработало. @Greg Hewgill, мир мог бы быть лучше, но Javascript, вероятно, не был бы там, где он есть сегодня.

Dan Rosenstark 12.01.2009 08:32

@ Just Some Guy - Хорошо сказано. Я улучшил свой ответ, добавив немного вашего остроумия.

ddaa 15.11.2009 04:01

Причина, по которой они изменили название, заключалась в том, чтобы каким-то образом умиротворить Sun, которая на тот момент была связана с Netscape.

Toby Allen 05.07.2011 23:15
Ответ принят как подходящий

Java и Javascript похожи, как Car и Carpet похожи.

К сожалению, на оригинальность не могу претендовать. Однако я не помню, где я впервые это услышал.

Greg Hewgill 12.11.2008 20:56

Отличный ответ. Просто и позволяет вам получить представление.

pyon 17.12.2008 01:31

я не думаю, что это недостаток. он заслужил свои очки. это короткий ответ, и все, что ему нужно знать.

Johannes Schaub - litb 30.12.2008 17:32

Я предпочитаю версию про ветчину и хомяка.

Kuba Suder 08.11.2010 19:00

Вот некоторые различия между двумя языками:

  • Java - это язык со статической типизацией; JavaScript динамичен.
  • Java основана на классах; JavaScript основан на прототипах.
  • Конструкторы Java - это специальные функции, которые можно вызывать только при создании объекта; «Конструкторы» JavaScript - это просто стандартные функции.
  • Java требует, чтобы все неблокирующие операторы заканчивались точкой с запятой; JavaScript вставляет точки с запятой в конце определенных строк.
  • Java использует область видимости на основе блоков; JavaScript использует область видимости на основе функций.
  • Java имеет неявную область видимости this для нестатических методов и неявную область видимости класса; JavaScript имеет неявную глобальную область видимости.

Вот некоторые особенности, которые я считаю сильными сторонами JavaScript:

  • JavaScript поддерживает замыкания; Java может имитировать своего рода «замыкания» с помощью анонимных классов. (Настоящие закрытия могут поддерживаться в будущей версии Java.)
  • Все функции JavaScript являются вариативными; Функции Java являются вариативными, только если явно отмечены.
  • Прототипы JavaScript могут быть переопределены во время выполнения и немедленно вступают в силу для всех ссылающихся объектов. Классы Java не могут быть переопределены таким образом, чтобы это повлияло на любые существующие экземпляры объектов.
  • JavaScript позволяет переопределять методы объекта независимо от его прототипа (подумайте о собственных классах в Ruby, но на стероидах); методы в объекте Java привязаны к его классу и не могут быть переопределены во время выполнения.

С опозданием на 2 года, но большое спасибо за это вдумчивое объяснение. Это намного полезнее и информативнее, чем выбранный ответ, и заслуживает гораздо большего количества голосов. ИМО

Eric Hu 01.04.2011 01:29

Я поддерживаю обоих в таких случаях. Нам нужен правильный ответ, но, черт возьми, такие выродки, как мы, нам действительно нужно больше этого юмора

Michael Durrant 15.11.2011 16:58

Вы также можете здесь использовать строго типизированный и слабо типизированный вместо статически типизированного и динамически типизированного.

San 14.12.2011 18:56

По сути, одна из них - игрушка, предназначенная для написания небольших фрагментов кода, которая традиционно используется неопытными программистами.

Другой - язык сценариев для веб-браузеров.

Если бы мы могли проводить категориальное голосование, я бы проголосовал +1 смешно, но в противном случае, м-м-м.

Don Wakefield 29.10.2008 01:16

Я собирался отругать вас за пренебрежение Javascript, когда он зашел так далеко за последние несколько лет. Затем я избавился от второго абзаца и L'dOL. Но подождите, Java - мой главный источник дохода ... :-)

paxdiablo 29.10.2008 01:55

проголосовали против Javascript, затем заметили, что вы говорите о JAVA, и проголосовали за (и много раз лолели).

Pim Jager 07.12.2008 15:05

Печально, что я могу проголосовать только один раз. Это происходит где-то в моем профиле Facebook ...

Samantha Branham 10.02.2009 08:37

Но какой язык соответствует какому описанию (не java предназначалась для использования в качестве ну не совсем сценария, а всего остального для сети в какой-то момент в 90-х - от Sun и netscape)? Также кто пишет небольшие фрагменты кода на java?

Roman A. Taycher 21.04.2010 15:30

@Roman ну, конечно, правильный способ Java - написать как минимум 20 разных классов с использованием сложного наследования и других интересных функций ООП для завершения FizzBuzz :)

Earlz 20.08.2010 08:17

На самом деле, javascript предназначен не только для браузеров. Это полноценный язык сценариев, который часто используется для многих приложений, для которых требуются сценарии. И Java не только для неопытных или идиотов. Он может сделать многое в кратчайшие сроки.

SHiRKiT 09.10.2011 18:45

Это независимые языки с несвязанными происхождениями. Брендан Эйх изначально создавал Javascript в Netscape. Первоначально он назывался Mocha. Выбор Javascript в качестве названия был данью, если хотите, тогдашнему восходящему языку программирования Java, разработанному в Sun Патриком Нотоном, Джеймсом Гослингом и др. al.

JavaScript - это объектно-ориентированный язык сценарии, который позволяет создавать динамические HTML-страницы, позволяя обрабатывать входные данные и поддерживать данные, как правило, в браузере.

Java - это язык программирования, базовый набор библиотек и платформа виртуальных машин, которые позволяют создавать скомпилированные программы, которые работают почти на каждой платформе, без распространения исходного кода в необработанном виде или перекомпиляции.

Хотя у этих двух одинаковых имен, на самом деле это два совершенно разных языка / модели / платформы программирования, которые используются для решения совершенно разных наборов проблем.

Кроме того, это прямо из Википедии Статья Javascript:

A common misconception is that JavaScript is similar or closely related to Java; this is not so. Both have a C-like syntax, are object-oriented, are typically sandboxed and are widely used in client-side Web applications, but the similarities end there. Java has static typing; JavaScript's typing is dynamic (meaning a variable can hold an object of any type and cannot be restricted). Java is loaded from compiled bytecode; JavaScript is loaded as human-readable code. C is their last common ancestor language.

Javascript предназначен не только для HTML-страниц, Java6 теперь включает его, BIRT использует его для создания сценариев отчетов - я уверен, что помимо этих двух, существуют и другие варианты использования, отличные от HTML.

paxdiablo 29.10.2008 01:56

Ты прав. С развитием Rhino и некоторых других разработок, о которых вы упомянули, Javascript довольно далеко вышел из песочницы браузера.

Bill the Lizard 30.12.2008 17:24

Сценарии - это просто один конкретный вид программирования ... вместо этого вы, возможно, должны сказать, что Java - это скомпилированный язык программирования, а javascript - это язык сценариев или интерпретируемый язык программирования.

Blacktiger 23.08.2010 22:38

Взгляните на Ссылка на Википедию

JavaScript, despite the name, is essentially unrelated to the Java programming language, although both have the common C syntax, and JavaScript copies many Java names and naming conventions. The language was originally named "LiveScript" but was renamed in a co-marketing deal between Netscape and Sun, in exchange for Netscape bundling Sun's Java runtime with their then-dominant browser. The key design principles within JavaScript are inherited from the Self and Scheme programming languages.

Они не имеют ничего общего друг с другом.

Java статически типизирована, компилируется, запускается на собственной виртуальной машине.

Javascript динамически типизируется, интерпретируется и запускается в браузере. Он также имеет первоклассные функции и анонимные функции, которых нет в Java. Он имеет прямой доступ к элементам веб-страницы, что делает его полезным для обработки на стороне клиента.

Они также несколько похожи по синтаксису, но не более того.

Как все говорят, они совершенно разные.

Однако, если вам нужен язык сценарии для вашего приложения Ява, Javascript - действительно хороший выбор. Есть способы запустить Javascript в JVM, и вы можете легко получить доступ к классам Java и управлять ими, как только вы это сделаете.

В дополнение к тому, что это совершенно разные языки, по моему опыту:

  • Java сначала выглядит красиво, а потом начинает надоедать.
  • Сначала JavaScript выглядит ужасно и безнадежно, но постепенно он вам действительно начинает нравиться.

(Но, возможно, это больше связано с моими предпочтениями функционального программирования перед объектно-ориентированным программированием ...;)

Практически каждый компьютер в мире продается с установленным хотя бы одним интерпретатором JavaScript.

На большинстве (но не «практически на всех») ПК установлена ​​виртуальная машина Java.

Повторное введение в Javascript команды Mozilla (они делают Firefox) должен это объяснить.


Java для JavaScript - это как ветчина для хомяка

Как вы думаете, откуда берутся ветчина? ;)

Bill the Lizard 01.03.2012 19:37

Это происходит от большого хомяка; он такой большой, что его можно спутать со свиньей. ;)

kiamlaluno 20.03.2012 23:35

Не путайте с именем ..
Java была создана в Sun Microsystems (ныне Oracle). Но JavaScript был создан в Netscape (ныне Mozilla) на заре Интернета, и технически «Java-Script» является товарным знаком, лицензированным Sun Microsystems, и используется для описания Реализация языка в Netscape. Netscape представила язык для стандартизации в ECMA (Европейская ассоциация производителей компьютеров) и из-за проблем с товарным знаком стандартизированная версия языка застрял с неудобным названием «ECMAScript». По тем же причинам, что и товарный знак, Версия языка Microsoft официально известна как JScript. На практике просто примерно все называет язык JavaScript. Настоящее имя - «ECMAScript».

Оба являются полностью разными языками !!!

Другие вопросы по теме