История языка программирования JavaScript

История создания и развития фронтэнд языка JavaScript
Метки: / /

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

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

История создания и развития JavaScript:

В 1995 году, через 4 года после появления Java, Брендан Эйх создал JavaScript, работая в Netscape. В то время Netscape полностью контролировала рынок индустрии просмотра веб-страниц, в то время как Microsoft только начинала работу над проектом Internet Explorer.

В попытке обыграть Microsoft Netscape стала партнером Sun Microsystems. Они назвали его «JavaScript», чтобы не упустить из виду шумиху вокруг Java, которая, безусловно, набирала обороты в сообществе разработчиков.

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

  • Необязательные окончания строк с запятой;
  • Объекты и классы, но с ограниченной инкапсуляцией;
  • Однопоточный (на основе обратного вызова, без параллелизма);

Однако позиционирование JavaScript уникально. Это способствовало бы тому, чтобы он стал наиболее часто используемым языком программирования сегодня. Следующие пункты объясняют его широкий успех:

Уловка именования «JavaScript», чтобы украсть маркетинговую шумиху
Не воспринимается как конкуренция, потому что веб-разработка «несерьезная разработка».
Монополизация браузерного программирования, опять же, потому что другие проекты не рассматривали браузерные скрипты как серьезное программирование.

Многие разработчики считали, что фронтенд-разработка предназначена для художников и дизайнеров. В конце концов, «Это всего лишь стилизация и создание шаблонов, верно?»

Так было давно. Однако в последнее десятилетие фронтенд-разработка стала такой же серьезной, как и бэкэнд-разработка. Одностраничные приложения и фреймворки, такие как Angular, React и Vue, внедрили логику, которая раньше контролировалась серверной частью, непосредственно в браузер пользователя.

В соответствии с законом Мерфи, который, возможно, является тикетом №1 в отставании от великой доски вселенной Jira, ошибки времени выполнения существовали как концепция с самой первой версии JavaScript, поставляемой как часть Netscape Navigator 2.0 в 1995 году, а затем как часть второй версии Internet Explorer.

В 2019 году сложно представить себе первозданную версию JavaScript. Известный прототип был создан за 10 дней и публично выпущен всего через несколько месяцев. Ранняя история JavaScript существует как ошибочный, но, тем не менее, впечатляющий памятник компромиссу и краткосрочному корпоративному мышлению; планы по реализации Scheme в качестве встроенного языка сценариев в Netscape Navigator уступили место желаниям включить «связующий язык» в дополнение к Java, создав гибрид синтаксиса, отдаленно напоминающий Java, но с идеями, заимствованными из динамически типизированных языков, таких как Scheme, HyperTalk и Self в чтобы отличаться от более «серьезной» и статически типизированной Java.

One Point Uh-Oh:

JavaScript 1.0 поставляется без некоторых общих языковых функций. Например, поддержка структуры данных в виде списка (объект Array был добавлен в версии 1.1). Литералы объектов и массивов ([] и {}) не будут доступны до JavaScript 1.2. Некоторые функции быстро изменились — JavaScript 1.2 изменил операторы == и! =, Чтобы они больше не приводили к типам, если сравниваемые значения не были одного типа. Позже это будет отменено в версии 1.3 с появлением стандартизации ECMA, и операторы === и! == восполнят пробел.

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

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

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

Последствия этих и многих других решений тех десяти дней мая 1995 года необычайно далеко ушли в будущее.

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

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

Первая версия стандартизации JavaScript ECMA-262 включала раздел об ошибках, достаточно короткий, чтобы их можно было почти запомнить. Он очень мало говорит об ошибках времени выполнения, только намекает на «обнаруживаемые [ошибки] в будущих версиях». Потребуется до 3-го издания ECMA-262 (в просторечии известного как ES3), чтобы надлежащая семантика обработки исключений была ратифицирована как часть спецификации ECMAScript.

Тем временем именно Netscape предпримет первые шаги и добавит два основных столпа обработки ошибок JavaScript.

window.onerror:

Версия 1.1 JavaScript (поставляется с Netscape Navigator 3.0) будет первой, в которой будет механизм обработки ошибок любого рода в виде события window.onerror. JavaScript с самого начала разрабатывался как язык, управляемый событиями.

В документации Netscape Navigator 3.0 событие window.onerror изначально определяется как срабатывание, когда «загрузка документа или изображения вызывает ошибку»

Вывод:

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

Подписываетесь на соц-сети:

Поделится:

Также рекомендую:

Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии