Написан за 10 дней, чиним 30 лет: С днем рождения, наш любимый JavaScript

Тридцать лет назад Брендан Айк написал прототип JavaScript за десять дней — сегодня этот «допиленный в спешке» язык управляет браузерами, серверами и приложениями.


0e2sfbuqj0dlsq6pmsg8c1ql9ep1v10u.jpg

Тридцать лет назад разработчик Netscape за десять дней наспех собрал прототип языка, который сегодня держит на себе почти весь интерактивный веб. В мае 1995 года инженер Брендан Айк в буквальном смысле «нахакал» первую версию JavaScript , а сейчас его потомки работают примерно на 99% сайтов с клиентским кодом и используются далеко за пределами браузера — от серверов до мобильных и desktop-приложений.

Весной 1995-го Netscape нужна была простая скриптовая технология, которая позволила бы «оживлять» страницы и была бы доступна не только профессиональным программистам, но и веб-дизайнерам. Руководству хотелось, чтобы новый язык выглядел современно и напоминал модный тогда Java, а сам Айк ориентировался на свои любимые технологии. Синтаксис действительно сделали похожим на Java, но под капотом JavaScript унаследовал идеи из функционального Scheme и объектной Self — отсюда, например, прототипное наследование, которое до сих пор выделяет язык среди классических ООП-решений.

Публично JavaScript появился не сразу. В сентябре 1995 года его встроили в браузер Netscape 2.0, а полноценный релиз 1.0 состоялся в марте 1996-го. Тем временем Netscape и Sun Microsystems активно продвигали новый инструмент: 4 декабря 1995 года компании выпустили совместный пресс-релиз и заявили о поддержке JavaScript сразу 28 крупными игроками рынка. Если перечитать этот список сегодня, он выглядит как памятник ушедшей эпохе. Digital Equipment Corporation уже давно поглощена и растворена в других структурах, Silicon Graphics обанкротилась, саму Netscape купил AOL и в итоге разобрал по частям, а Sun в 2010 году досталась Oracle. JavaScript пережил всех создателей и почти всех «спонсоров» своего детства.

Даже с легендарными «десятью днями» история была не такой простой. За это время Айк собрал работоспособный внутренний прототип, но дальше язык ещё долго дорабатывали, меняли и допиливали. Спешка аукнулась — в JavaScript до сих пор хватает странностей и несостыковок, о которых шутят программисты по всему миру. Непрерывные изменения раздражали и конкурентов: Билл Гейтс, вспоминал позже Айк, в 1996 году откровенно ругался на то, что спецификация и поведение JavaScript постоянно плавают. Microsoft в итоге реализовала собственный вариант под названием JScript в Internet Explorer, и вебу на много лет досталась боль под названием «несовместимость браузеров».