Почему ECMAScript 4-е издание было полностью отменено? - PullRequest
12 голосов
/ 25 февраля 2010

Я искал некоторую информацию относительно отмененного ECMAScript 4-го издания без особого успеха, даже на SO. Я знаю, что в JavaScript 1.7 Mozilla реализованы многие (все?) Новые функции, предлагаемые в 4-м издании, и я подумал, что вспомнил о нем хороший пост Джона Резига, но сейчас я не могу найти его в его блоге.

В частности, я хочу знать, почему он был полностью отменен в пользу ECMA-262 5-го издания и почему он не был просто улучшен. Некоторые функции довольно крутые, такие как генераторы, итераторы, let, новые операторы присваивания и (мой любимый) деструктурирующее присваивание.

Я знаю, что все эти конкретные функции будут просто генерировать ошибки в браузерах с устаревшими реализациями ECMAScript, но почему бы не включить их в любом случае, зная, что однажды эти реализации будут редкими и далекими? Были ли другие причины? Скорее всего, мы увидим, что некоторые отказавшиеся функции появятся в будущем выпуске, или производители так напуганы нарушением совместимости, что мы, вероятно, никогда не увидим таких улучшений стандарта?

Кроме того, было бы неплохо узнать некоторые мнения по этому вопросу, вас раздражает, что некоторые функции вырезаны из 5-го издания или вы думаете, что так будет лучше? Стоит ли играть с реализациями ECMAScript 4?

Ответы [ 4 ]

18 голосов
/ 25 февраля 2010

Проще говоря, там было без ECMAScript 4-е издание. Из спецификации 5-го издания :

Была проделана значительная работа по разработке четвертого издания ECMAScript. Хотя эта работа не была завершена и не была опубликована в качестве четвертого издания ECMAScript, она сообщает о продолжающейся эволюции языка. Настоящее пятое издание ECMAScript (опубликовано как 5-е издание ECMA-262) кодифицирует де-факто интерпретации языковой спецификации, которые стали распространенными среди реализаций браузера, и добавляет поддержку новых функций, появившихся после публикации третьего издания.

В основном, было много очень сильных мнений о том, как продвигать JavaScript, многие из которых были несовместимы, некоторые из которых были в основном собраны в то, что некоторые думали, что это будет 4-е издание, прежде чем все развалится (не в последнюю очередь потому, что отсутствие поддержки со стороны некоторых важных разработчиков). Между тем, новая редакция стандарта была очень, очень запоздалой, и поэтому после долгих предварительных переговоров различные стороны собрались в Осло в июле 2008 года и договорились о дальнейших действиях (Брендан Айх [изобретатель JavaScript] позже назвал этот подход). " Гармония " при написании)

Гармония откладывает некоторые вещи, навсегда убирает некоторые из них со стола (пространства имен, пакеты, раннее связывание) и & mdash; главное & mdash; разрешил комитету приступить к первому обновлению спецификации с 1999 года: 5-е издание.

7 голосов
/ 25 февраля 2010

Если у вас есть 55 минут для изучения предмета, см. Видео Дуглас Крокфорд: «Состояние и будущее ECMAScript» или расшифровка .

2 голосов
/ 25 февраля 2010

По сути, он становился кухонной раковиной со слишком большим количеством функций для реализации.

1 голос
/ 25 февраля 2010

Было несколько обсуждений в интервью Coders At Work , двое из опрошенных были по разные стороны этого вопроса.

Похоже, что дошло до фундаментальных разногласий относительно того, что язык должен содержать между теми, кто работает над версией 4, и некоторыми другими уважаемыми членами сообщества.

(кстати, я очень рекомендую эту книгу)

...