4. Основы JavaScript


4.2. Краткая история JavaScript

По мере роста популярности Интернета обозначилась потребность в языках сценариев для клиентской стороны. Хотя большинство пользователей подключались к Интернету с помощью модемов на скорости 28,8 Кбит/с, размер и сложность веб-страниц постоянно росли. Хуже того: даже для простой проверки форм требовалось несколько раз обращаться к серверу. Только представьте, каково было заполнить форму, щелкнуть на кнопке отправки, подождать 30 секунд, пока информация будет обработана, и получить сообщение о том, что при вводе данных было пропущено обязательное поле. В компании Netscape, бывшей тогда на рубеже инноваций, начали всерьез задумываться о разработке языка сценариев для простой обработки данных на клиентской стороне.

Брендан Айк (Brendan Eich), работавший тогда в Netscape, в 1995 году начал создавать язык сценариев Mocha (позднее переименованный в LiveScript) для браузера Netscape Navigator 2. Предполагалось, что этот язык будет использоваться и в браузере, и на сервере (под названием LiveWire). Чтобы успеть завершить реализацию LiveScript до выпуска браузера, компания Netscape объединила усилия с Sun Microsystems. Незадолго до выхода Netscape Navigator 2 в Netscape решили переименовать LiveScript в JavaScript, чтобы попытаться извлечь выгоду из популярности Java.

JavaScript 1.0 оказался очень успешным, и Netscape выпустила его версию 1.1 в составе Netscape Navigator 3. Популярность Интернета стремительно росла, и Netscape заслуженно занимала ведущее место на этом рынке. Тем временем в Microsoft решили выделить больше ресурсов на разработку конкурирующего браузера Internet Explorer. Вскоре после выхода Netscape Navigator 3 корпорация Microsoft представила Internet Explorer 3 со своей реализацией JavaScript под названием JScript (чтобы избежать проблем с Netscape, связанных лицензированием). Вторжение Microsoft в мир веб-браузеров в августе 1996 года оказалось началом конца Netscape, но в то же время ускорило развитие JavaScript.

То, что JavaScript был реализован в Microsoft, означало, что появилось две версии языка: JavaScript (Netscape Navigator) и JScript (Internet Explorer). В отличие от С и многих других языков программирования, на тот момент не было никаких стандартов JavaScript, определяющих его синтаксис и функциональность, и существование разных версий языка только подчеркивало эту проблему. Чтобы развеять опасения представителей отрасли, было решено стандартизировать язык.

В 1997 году спецификация JavaScript 1.1 принята ECMA. Был организован ТС39, перед которым стояла задача "стандартизировать синтаксис и семантику кросс-платформенного независимого языка сценариев общего назначения". Комитет ТС39 объединил программистов Netscape, Sun, Microsoft, Borland, NOMBAS и других компаний, проявляющих интерес к будущему языков сценариев, и за несколько месяцев разработал стандарт ЕСМА-262, определивший новый язык сценариев с названием ECMAScript.

В следующем году ISO и IEC также приняли ECMAScript в качестве стандарта (ISO/IEC-16262). С тех пор разработчики браузеров с переменным успехом используют ECMAScript как основу для реализации своих версий JavaScript.