Как веб-разработчик Джереми Кейт сказал в 2009 году : «Java для JavaScript — то же самое, что радиолюбитель для хомяка». Точная точность этой аналогии является спорной, но смысл, лежащий в её основе, твёрд: Java и JavaScript, несмотря на общий лингвистический корень, являются двумя совершенно разными языками программирования. С годами они стали немного больше пересекаться, но JavaScript остается доминирующим интерфейсным языком, который делает веб-сайты интерактивными, в то время как Java продолжает оставаться популярным для серверного и прикладного программирования. Если вы пытаетесь нанять разработчика, научиться программировать или создать сайт/приложение, важно знать разницу между Java и Javascript.
Разные истории
TLDR: Java была на первом месте. JavaScript, который был похож на Java, но технически не связан с ним, затем появился для удовлетворения другой потребности.
Java разрабатывалась Джеймсом Гослингом и командой исследователей из Sun Microsystems в течение четырех лет, начиная с 1991 года и выпускаясь в 1995 году. Они разработали объектно-ориентированный язык, который
Contents
Разные истории
ких операционных системах. С тех пор он использовался на самых разных устройствах, от телефонов до марсоходов НАСА, а также представлял собой мультимедийную веб-технологию (как Flash и JavaScript) через Java-апплеты вплоть до 2016 года, когда Java официально прекратила поддержку.JavaScript также был выпущен в 1995 году, но был создан Бренданом Эйхом из Netscape более 10 дней как способ сделать веб-страницы интерактивными после их загрузки браузером. Первоначально он назывался Mocha в мае 1995 года, но в сентябре он поставлялся вместе с Netscape Navigator как LiveScript, а к декабрю 1995 года был заменен на JavaScript. смысле – и это был также довольно хороший маркетинговый ход. С тех пор он стал одним из трех основных компонентов современного Интернета, наряду с HTML и CSS .
Также читайте: Как заблокировать навязчивый Javascript в Chrome и Firefox
Технические различия
И Java, и JavaScript имеют уровень объектно-ориентированные языки программирования . Это означает, что программисты могут заставить все работать, создавая фрагменты информации и соединяя их с другими фрагментами информации. Например, объект «кошка» может включать информацию об имени, цвете и возрасте кошки, а также список того, что кошка может делать, например мяукать, есть и спать. Информация в этом объекте затем становится доступной программисту, который может распечатать информацию о кошке или заставить ее что-то сделать.
Это самое большое сходство. Однако отсюда различия накапливаются.
1. Java компилируется, JavaScript интерпретируется
В Java реализована система «напиши один раз, работай где угодно». Это работает следующим образом:
- Напишите код на Java.
- Скомпилируйте код в байт-код, читаемый компьютером.
- Запустите код на виртуальной машине Java, которая представляет собой виртуальный компьютер, который запускает байт-код Java на устройствах.
Это означает, что всякий раз, когда вы захотите изменить программу, вам необходимо внести изменения в код Java и снова перевести всю программу в байт-код.
Однако JavaScript может читаться веб-браузерами так же, как он написан. Браузер просто проверяет каждую строку и запускает ее. Это делает его более гибким и простым в изменении, хотя по производительности он отстает от скомпилированного кода, поскольку не запускается непосредственно на машиночитаемом языке.
2. Статическая типизация (Java) и динамическая типизация (JavaScript)
Большая часть языков программирования хранит значения в переменных. Java является статически типизированным, то есть вам нужно указать, какое значение содержит каждая переменная, а затем оно будет исправлено. Например:
int a_number = 42; char a_letter = ‘z';
«int» должно быть числом, а «char» — буквой.
Однако JavaScript является динамически типизированным, поэтому любая переменная может содержать любой тип данных, и они могут без проблем изм
1. Java компилируется, JavaScript интерпретируется
let number = 42; let a_letter = “z”;
В этом Java имеет преимущество в скорости и отладке: объявление типов переменных ускоряет поиск проблем, а также позволяет быстрее выполнять код. Однако для большинства разработчиков JavaScript работает быстрее.
3. Параллелизм
Java может запускать несколько разных потоков одновременно, то есть выполнять несколько задач одновременно.
Вместо этого JavaScript использует цикл событий, по сути прорабатывая стек задач, пока он не достигнет конца. Опять же, Java здесь имеет преимущество в производительности.
4. У Java есть классы, у JavaScript есть прототипы
Помните, что Java и JavaScript используют объекты для хранения информации. Оба они также используют «наследование», которое позволяет объектам получать свои свойства откуда-то еще. В Java они получают свойства из классов, которые по сути представляют собой чертежи с инструкциями по созданию объекта. В JavaScript новые объекты создаются с использованием прототипов или объектов, которые можно скопировать для создания нового объекта.
По сути, это озн
2. Статическая типизация (Java) и динамическая типизация (JavaScript)
ебует создания класса, который может создавать эти объекты. Возвращаясь к предыдущему примеру, Java предоставляет инструкции по созданию кота, а JavaScript просто клонирует его.Какой мне нужен?
Если от технических деталей у вас потускнели глаза, вы можете снова обратить на это внимание прямо сейчас! Если вы пытаетесь сделать выбор между Java и JavaScript, это на самом деле не так уж и сложно.
Обычно вам понадобится JavaScript для:
- Веб-сайты, веб-приложения и другие интерфейсы
- Простые веб-серверы/серверные задачи (с помощью Node.js)
- Создание браузерных игр и анимации
- Приложения/игры/программы, созданные на основе Electron или другой кроссплатформенной платформы
Однако вы, вероятно, захотите использовать Java для:
- Приложения для Android
- Приложения для ПК
- Серверные приложения
- Написание кода для телефонов, устройств Интернета вещей и другого оборудования
Если вы хотите выбрать язык для изучения, это зависит от ваших целей. Если вы хотите построить карьеру программиста и получить четкое представление об основах программирования или хотите работать над не-веб-приложениями, Java считается более технически строгим языком. Он также наиболее широко используется в мире.
Однако, если вы хотите заняться веб-разработкой или в основном планируете работать над веб-сайтами и веб-приложениями, JavaScript, вероятно, является обязательным навыком. В долгосрочной перспективе не помешает изучить и то, и другое, поскольку оба они охватывают концепции, которые помогут вам стать лучшим (и более конкурентоспособным!) программистом.
Если вы хотите заняться разработкой игр, вам больше подойдет эти языки программи3. Параллелизм
mall>Авторы изображений: Логотип языка программирования Java , JavaScript-логотип , Java-JVM , 4. У Java есть классы, у JavaScript есть прототипыnofollow" class="ek-link" title="Программирование, управляемое событиями, простое объяснение">Программирование, управляемое событиями, простое объяснение , ООП-классы