7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Java

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

Scroll to top
Read Time: 8 mins

Russian (Pусский) translation by Sergey Zhuk (you can also view the original English article)

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

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

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

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

Java и JavaScript

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

Java - относится к JavaScript, как хам - к хомяку.

К сожалению, я не могу претендовать на эту аналогию как свою собственную. Вместо этого, это придумал Джереми Кейт, но это отличная идея: единственное, что объединяет языки, - это то, что они разделяют имя «Java» в их имени.

Одно сходство в том, что языки - это то, что мы называем «C-style» языками, в том смысле, что их синтаксисы аналогичны синтаксису языка C. То есть, они оба имеют функции, скобки, скобки и точки с запятой.

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

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

Итак, начнем.

Что такое Java?

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

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

Но подождите: что такое среда выполнения Java?

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

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

Звучит не так волнующе, не правда ли? Это нормально! Как разработчики, мы не несем ответственности за написание байт-кода. Вместо этого компилятор Java компилирует наш код в байт-код.

Этот байт-код выполняется поверх среды выполнения, которая выполняется в контексте другой операционной системы. Эта операционная система может работать на сотовом телефоне, может работать на другом компьютере, может работать в Windows, OS X, Linux или любой другой системе, на которой она совместима. Вы можете прочитать все об этом на этой странице.

Звучит неплохо, да? Дело в том, что здесь есть ряд проблем. Кажется, это намного проще, чем это, и это то, над чем работают более продвинутые Java-разработчики. Это выходит за рамки данной статьи. Вместо этого мы сосредоточимся на атрибутах языка, чтобы мы могли сравнить и сопоставить его с JavaScript.

Но сначала давайте рассмотрим некоторые из возможностей, с которыми мы можем работать на Java. Важно отметить, что мы работаем на гораздо более высоком уровне. Например, мы можем работать со следующими конструкторами:

  • Классы являются основой любого объектно-ориентированного языка. Они позволяют нам определить, какие характеристики и поведение будет демонстрировать объект после его создания.
  • Функции - это части классов, которые позволяют объектам что-то делать. Класс, который представляет File, может позволить нам прочитать содержимое того, что он содержит.
  • Свойства или атрибуты - это то, что описывает класс. File, например, может иметь разрешения, такие как возможность читать или записывать в файловую систему. Он также может иметь путь, представляющий место, где он находится в файловой системе.
  • Наследование - это когда один класс может наследовать определенные свойства другого класса. Это означает, что он получает все функции и свойства родительского класса и может добавлять свои уникальные функции.

Если вы никогда не писали код раньше, некоторые из них могут звучать как жаргон. Понятно! У нас есть ресурсы, которые помогут вам научить вас тому, что вам нужно знать:

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

Что такое JavaScript?

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

JavaScript, по своей сути, представляет собой динамический язык, который является нетипизированным и его интерпретируют. Это означает:

  • Мы, как разработчики, можем легко расширить некоторые аспекты языка, добавив наш код в уже существующие объекты, такие как объект String.
  • Нетипизированный характер языка означает, что мы можем объявлять строки, логические значения и числа (в сравнении с целыми числами, числами с плавающей запятой и десятичными знаками), не указывая явно их тип, как в Java (и других языках).
  • Язык интерпретируется, что означает, что он не скомпилирован в исполняемый файл. Вместо этого он интерпретируется веб-браузером или другим программным обеспечением на вашем компьютере, которое преобразует ваши инструкции в машинный код.

Если вас что-то смущает, не волнуйтесь! Мы все были там:

  • Определение переменных?
  • Реализация функций?
  • Создание объектов?
  • Настройка условных операторов?
  • И многое другое.

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

Помните, что все «я не уверен, что я делаю» естественно, и это часть обучения. Если вы никогда не видели программирования, связанного с JavaScript, я настоятельно рекомендую проверить несколько следующих курсов:

После того, как вы лучше освоите язык, важно также использовать надлежащие инструменты для разработки ваших приложений. Это включает в себя использование таких инструментов, как отладчик (который включает большинство современных браузеров). Однако это выходит за рамки данной статьи.

Примечание об объектной ориентации

Еще одно важное отличие состоит в том, что JavaScript и Java рассматриваются как объектно-ориентированные языки, но по разным причинам.

Java позволяет нам создавать экземпляры объектов из классов, которые мы создаем. Напротив, все в JavaScript является объектом. Это означает, что классов нет. И поскольку все является объектом, все имеет методы и свойства, которые мы можем использовать.

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

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

Какой из них выбрать?

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

Хотя вы можете писать JavaScript на сервере с такими технологиями, как Node.js, они не являются теми же типами приложений, которые созданы на Java. Кроме того, хотя вы можете писать серверные приложения на Java, они не являются теми же типами приложений, которые вы обычно пишете с помощью JavaScript.

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

Заключение

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

Если вы хотите работать в Интернете, JavaScript, скорее всего, ваш лучший выбор. Если, с другой стороны, вы хотите писать настольные приложения, то Java - не плохой выбор.

Для тех, кто заинтересован, стоит отметить, что JavaScript стал одним из де-факто языков работы в Интернете. Это не без кривых обучения, а также множество фреймворков и библиотек, которые заставляют вас напряженно трудиться. Если вы ищете дополнительные ресурсы для изучения или использования в своей работе, ознакомьтесь с имеющимися у нас на рынке Envato.

Я провожу большую часть своего времени, работая с WordPress; Тем не менее, я также поклонник JavaScript и веду блог об этом время от времени. Если вас интересуют другие курсы и учебные пособия, которые я написал для Envato, ознакомьтесь со страницей моего профиля. Кроме того, вы можете прочитать больше статей о разработке WordPress и JavaScript в моем блоге. Не стесняйтесь следовать за мной в Twitter также на @tommcfarlin.

С учетом сказанного, оставьте все отзывы в комментарии ниже.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.