История Javascript и почему вы должны его знать

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

Важно понять этот путь JavaScript, чтобы работать с самыми сложными частями языка. Начнем с того, с чего все началось.

Зачем был нужен такой язык, как JavaScript?

Много лет назад, в далёком 1995 году, появился браузер под названием Netscape Navigator (звучало уже как сказка ;). Подключение к Интернету было очень медленным, поскольку люди использовали коммутируемое соединение с использованием телефонных линий и модемов. Поэтому, когда вы должны были заполнить форму на веб-сайте, который обычно был закодирован с использованием такого языка, как Perl, проверка полей ввода любой формы требовала полного обращения к серверу.

Это было болезненное упражнение, так как скорость интернета была медленной и приводила к потере данных, если форма была заполнена неправильно. Netscape Navigator стремился решить эту проблему, найдя способ проверки полей ввода на стороне клиента, чтобы сохранить этот полный цикл на сервере для проверки полей ввода. Так родился JavaScript, просто как язык сценариев для проверки форм на стороне клиента.

Почему важно знать историю JavaScript

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

Рождение JavaScript и рождение конфликта

Брендан Эйх (в то время разработчик Netscape Navigator) был назначен для разработки этого нового языка сценариев, который тогда назывался Mocha. Это должно было быть выпущено как часть Netscape Navigator 2. Mocha позже был переименован в LiveScript перед выпуском Netscape Navigator 2. Затем Netscape Communications объединилась с Sun Microsystems, которая тогда действительно активно продвигала Java.

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

Поскольку Java была слишком сложной и большой для выполнения задач на стороне сервера, LiveScript стал естественным расширением Java для решения задач на стороне клиента. Предполагалось, что это будет дополнением к Java, которое позаботится о тяжелых задачах на стороне сервера, а LiveScript упростит проверку на стороне клиента. LiveScript унаследовал большую часть своего синтаксиса и унаследовал природу от Java по этим очевидным причинам. Sun Microsystems помогла завершить и выпустить LiveScript вместе с Netscape Navigator 2. Перед запуском он был переименован в JavaScript, чтобы рассчитывать на то, что Java получает поддержку в прессе, изображая JavaScript как естественное расширение Java.

Эволюция конфликта и несовместимость браузера

JavaScript 1.0 имел огромный успех, и его популярность в Интернете стремительно росла. Настолько, что JavaScript 1.1 был выпущен вместе с Netscape Navigator 3. К настоящему времени Netscape Navigator зарекомендовал себя как ведущий браузер на рынке. В этот момент Microsoft решила вложить больше ресурсов в разработку своего собственного браузера под названием Internet Explorer 3. Вскоре после запуска Netscape Navigator 3 Microsoft выпустила новую версию своего веб-браузера под названием Internet Explorer 3, в которой была реализована реализация JavaScript. Чтобы избежать каких-либо проблем с лицензированием Netscape Communications, Microsoft переименовала свою реализацию Javascript в JScript. \n Это принятие и активное внедрение JScript корпорацией Microsoft должно было стать большим шагом вперед для JavaScript. Таким образом, к настоящему времени существовали две разные версии JavaScript без какой-либо стандартизации. Это было началом несовместимости браузеров, которую мы видим даже сегодня. В отличие от всех других языков программирования, таких как C, C++, Java и т. д., у JavaScript не было базового стандарта.

Подача в ECMA для стандартизации

Поскольку у JavaScript не было стандартов, а отрасль опасалась его появления, JavaScript 1.1 был представлен в Европейскую ассоциацию производителей компьютеров (ECMA) для стандартизации в 1997 году. Был создан технический комитет для стандартизации синтаксиса и семантики универсального, кросс- платформа и независимый от поставщика язык сценариев. В комитет вошли разработчики из Sun Microsystems, Netscape Communication, Microsft и других компаний. Они придумали ECMA-262, стандарт, определяющий новый язык сценариев и язык сценариев общего назначения под названием ECMAScript. Все браузеры должны были придерживаться создания собственных реализаций JavaScript. Различные браузеры с переменным успехом пытались принять ECMAScript в качестве стандарта для реализации JavaScript. На всем пути принятия этого стандарта были как истории успеха, так и неудачи.

Итак, JavaScript и ECMAScript — это одно и то же?

Ответ - нет! Хотя вы часто слышите, как разработчики используют их как синонимы, они сильно отличаются друг от друга. ECMAScript — это язык сценариев, основанный на стандартах, определенных в ECMA-262, и не привязан к веб-браузерам. На основе ECMAScript был создан более надежный язык сценариев, такой как JavaScript.

Реализации JavaScriptJavaScript Реализация ECMAScript состоит из трех частей, которые вместе называются JavaScript.

  • Ядро — основано на ECMAScript. Таким образом, ECMAScript определяет синтаксис, типы данных, операторы, операторы и т. д.
  • Объектная модель документа (DOM) — это то, что браузер отображает в виде иерархии узлов, отображаемой клиенту или пользователю.
  • Объектная модель браузера (BOM) — это то, что позволяет разработчикам манипулировать окном браузера. Используя спецификацию, разработчики могут получить доступ к функциям браузера и управлять ими вне контекста DOM или отображаемой страницы.

Что дальше?

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

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