Брендан Эйх сообщает, что, по его мнению, это была неделя с 6 по 15 мая 1995 года, когда он работал над языком Mocha, который должен был быть переименован в JavaScript.
С 20-м Днём Рождения, JavaScript!
Кто бы мог предположить, что странный маленький язык сценариев, предназначенный для того, чтобы новички могли добавлять какие-то действия на веб-страницы, станет языком, который угрожает доминировать в мире.
JavaScript начинался как язык сценариев браузера — что-то вроде Visual Basic для Интернета. Вы, наверное, уже знакомы с краткой историей JavaScript. Это была срочная работа. Брендана Эйха попросили создать язык сценариев для Netscape. Вместо того, чтобы пойти в очевидном направлении и реализовать что-то похожее на Basic или Java, он пошел совсем в другом направлении. Первоначально язык назывался Mocha, и это был функциональный и объектно-ориентированный язык, в котором функции были объектами первого класса, а объекты — ассоциативными массивами или хешами, в зависимости от вашей терминологии.
Это сделало его язык другим и непонятым, статус, который он сохраняет по сей день — после 20 лет использования.
Когда он был впервые выпущен, он был переименован в LiveScript, но затем снова был переименован в JavaScript. Причина смены названия заключалась в том, чтобы нажиться на популярности языка Java. Но, как знает или должен знать любой программист, у этих языков нет ничего общего, и JavaScript не является версией Java для написания сценариев.
Отсюда мы все знаем, как идут дела. Что, пожалуй, удивительно, так это то, что JavaScript долгое время не был ключевой технологией. Потребовалась разработка веб-приложения, чтобы превратить его из того, что используется для анимации веб-страниц, в полноценный язык программирования, пригодный для использования в больших программах. Лишь сравнительно недавно произошел переход к использованию JavaScript на стороне сервера — см. Node.js.
JavaScript — это не только язык на стороне клиента и сервера, он также считается языком веб-ассемблера или его подмножеством, называемым asm.js. При компиляции C / C ++ в asm.js программы работают со скоростью, приемлемой для программ с машинным кодом.
Несмотря на то, что JavaScript настолько универсален, его любят далеко не все. Многие программисты считают его нестандартным языком из-за его особенностей и, что наиболее важно, из-за того, что это не строго типизированный язык, основанный на классах. Хотя верно то, что в JavaScript есть некоторые вещи, которые не удается сделать правильно, его подход к объектно-ориентированному функциональному коду освежает, и некоторые программисты считают, что он превосходит строго типизированный код.
JavaScript все еще развивается, и вот-вот будет выпущен EcmaScript 6, или, скорее, EcmaScript 2015. Почему JavaScript стандартизирован под другим именем? См. «JavaScript — язык с двумя именами» для полной истории.
Наконец, 15 мая может быть неподходящей датой. По правде говоря, Брендан Эйх не совсем может вспомнить. Он думает, что даты могут быть 6-15 мая, но это основано на календаре. У него больше нет оригинального исходного кода Mocha, и он спрашивает, есть ли у кого-нибудь еще копия, которая может иметь даты в полях комментариев.
Интересно, как будет выглядеть JavaScript через 20 лет?