JavaRush /Java блог /Random UA /Java != JavaScript
Dr-John Zoidberg
41 рівень
Марс

Java != JavaScript

Стаття з групи Random UA
Ви починаєте навчати програмування. Ваші мізки закипають від великої кількості термінів, незнайомих слів і зв'язків між ними. До того ж ці слова в основному походять з англійської мови, яка, швидше за все, для вас не рідна. Поступово ви починаєте будувати асоціативні зв'язки: об'єктний та об'єктно-орієнтований, функція та функціональність, змінні та константи… Так працює наш мозок. Для економії нейронних зусиль він вигадує ці асоціації. Саме з цієї причини новачки часто плутають Java та JavaScript і вважають, що вони близькі родичі. Насправді вони близькі не більше, ніж дві інші мови з різними назвами. Їхні схожі імена — не що інше, як маркетинговий трюк.
Java != JavaScript - 1

Спочатку була Java

Мова Java спочатку призначена для інтерактивного телебачення і аматорських пристроїв, спочатку називалася Oak, на честь дуба, який зростав поряд з офісом головного творця мови. Пізніше проект перейменували на Green і, нарешті, можливо, під впливом багаторазового вливання кофеїну в організм ми отримали назву Java. Як марка кави. Або острів. Дивлячись на цю назву, здається, що вона напрошувалася сама собою: адже ми говоримо про розробників, а у них з кавою особливі стосунки…
Java != JavaScript - 2
Компанія Sun Microsystems випустила першу версію Java у 1995 році. Її слоган нам обіцяв, що те, що одного разу написане цією мовою працюватиме скрізь (Write Once, Run Anywhere). Це означає, що той самий код можна скомпілювати для різних платформ. Це, а також звичний C-подібний синтаксис та можливість працювати у браузерах призвели до того, що популярність Java зростала надзвичайно швидко.

JavaScript: минуло 10 днів

У тому самому році, коли світ побачив Java 1.0, співробітник Netscape на ім'я Брендан Ейх написав щось особливе. Роботодавець доручив Брендану створити мову, яка спочатку запускається у браузері (на відміну від Java, для якого потрібні інкапсульовані Java-програми для завантаження) і буде досить простим, щоб залучити непрофесійних програмістів. У міру того, як Java набирала популярності, менеджери Eich хотіли, щоб їхнє дітище «виглядало як Java». Ейх певною мірою підкорився, але не відійшов від головної мети. Він писав мову для створення скриптів на стороні клієнта, призначений для непрофесійних розробників, а це зовсім не схоже на Java.
Java != JavaScript - 3
Проте команді Netscape потрібно було прорекламувати свою нову мову. Ймовірно, тому проект JavaScript спочатку носив ім'я Mocha (це теж кава, так). Пізніше ім'я змінабо на LiveScript і, нарешті, на JavaScript. То справді був маркетинговий хід. Команда Netscape хотіла виїхати на славі Java.

Вони різні у дуже важливих аспектах

Java != JavaScript - 4
Зрозуміло, і Java, і JavaScript – мови програмування. Ви можете використовувати обидва для створення додатків, але те ж саме можна сказати про дві мови. Важлива відмінність полягає в тому, що Java - мова програмування загального призначення, що компілюється, підтримує паралельні процеси, строго типізований, заснований на класах та об'єктно-орієнтований. У свою чергу, JavaScript — це, перш за все, веб-мова, що інтерпретується, однопотокова, слабо типізована, заснована на прототипах і мультипарадигмі.

Їжа на виніс

Було б невірним говорити, що Java та JavaScript повністю відрізняються один від одного, не мають схожості. Обидві ці мови мають С-подібний синтаксис. Брендан Ейх свідомо переніс деякі особливості Java JavaScript. Проте основні цілі мов настільки різні, що подібність цьому і закінчується.
Java JavaScript
Розроблено 1995, Джеймс Гослінг, Sun Microsystems. -1995 (пізніше), Брендан Айхе, Netscape Communications.
Тип мови Об'єктно-орієнтована мова, в якій абсолютно все створюється у класах. Об'єктно-орієнтована мова сценаріїв (прототип-орієнтована: успадкування реалізовано через клонування вже існуючих об'єктів – прототипів).
Типізація Статична (перевірка типів здійснюється під час компіляції) і сильна (змінні прив'язані до конкретних типів даних, і якщо очікуваний та фактичний типи не збігатимуться, на будь-якому етапі перевірки буде видано помилку). Динамічна (перевірка типів здійснюється під час виконання) та слабка (тип може змінюватися під час виконання програми).
Модифікація Після компіляції Java-програми, його не можна змінювати на льоту, потрібно редагувати початковий код. -JavaScript -код можна модифікувати без компіляції чи інтерпретації.
Середовище виконання Java використовується для створення програм, які запускаються на віртуальних машинах або браузерах. Код JavaScript виконується лише у браузері (node.js – це вже зовсім інша історія).
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ