В дополнение к никнейму, интерфейсный ключевой политический must-read «JavaScript 20 Years», созданный совместно отцом JS и главным автором ES6, спустя полгода наконец-то завершил онлайн-версию китайского перевода!
Книга также известна как «JavaScript» и «Правящие мемуары TC39», подробные записи на языке 1995 года в 2015 году и в общей сложности 20-летний опыт эволюции JavaScript в языке от рождения 1995 года до спецификации ES6 2015 года. Книга не только объясняет эволюцию большого количества языковых деталей, но и вновь появляется на более высоких уровнях исторического успеха или неудачи. Это история, рассказывающая о том, как человеческое развитие способствует развитию отрасли в бизнесе и сотрудничестве в области технологической конкуренции.
Так что же в онлайн-версии больше, чем в предыдущей колонке? На самом деле их довольно много:
- Добавлены гиперссылки в общей сложности около 500 ссылок.
- Всего добавлено около 100 гиперссылок на сноски.
- Добавлены аннотированные гиперссылки в общей сложности около 100 глоссариев.
- Добавлена таблица временной шкалы развития JavaScript, состоящая примерно из 400 элементов.
- Добавлено оглавление главы с возможностью перехода.
- Добавлен перевод объявления, ознаменовавшего рождение JavaScript.
- Добавлены другие важные таблицы приложений, такие как таблица символов и таблица организации.
- Оптимизировано отображение более 20 списков и таблиц в ряду столбцов, а также заменены скриншоты на HTML.
- Исправлено несколько проблем в исходном примере блока кода и улучшена типографика.
- Улучшены чрезмерно разговорные и ненейтральные утверждения в сериализации.
После этих улучшений онлайн-версия достигла уровня 250 000 слов. Вот краткое изложение некоторых интересных вещей из этих обновлений:
Ссылки, сноски и глоссарий
В текст онлайн-версии предыдущей колонки было добавлено большое количество ссылок, а структура соответствовала исходному тексту. Они могут дать вам «очень профессиональный» вид. Например, следующий абзац:
TC39 [Herman 2008] также заинтересован в предоставлении «лямбда-функций» с уменьшенной семантикой, такой как поддержкахвостовой вызов стекаgи Теннент [1981] Принцип согласованности99. Его сторонники утверждают, что такие функции были бы полезны при реализации абстракций управления, определяемых языками или библиотеками. В начале процесса Гармонии Брендан Эйх [2008a] существует
es-discuss
В предыдущей ветке обсуждения Аллен Вирфс-Брук первоначально предложил использовать краткий синтаксис лямбда-функций, вдохновленный блочным синтаксисом Smalltalk. Например{|a,b| a+b}
эквивалентно Германуlambda(a,b){a+b}
. Сообщение Эйха вызвало масштабную, но безрезультатную онлайн-дискуссию обо всем, что связано с (отчасти возможными) свойствами кратких функций. Подводя итог, можно сказать, что многие из этих примеров синтаксиса создают проблемы с разбором или удобством использования, а неродные операторы передачи управления в JavaScript —return
,break
а такжеcontinue
- Значительно усложняет механику написания управляющих абстракций. Большинство членов TC39 иes-discuss
Подписчики, кажется, в первую очередь больше заинтересованы в лаконичном функциональном синтаксисе, чем в согласованности с Tennent.
Эти ссылки добавляются, и ссылка добавляется, в основном, из-за физической активности. Его существенные моменты имеют такие несколько:
- Библиография была сгенерирована с помощью BibTeX, предоставленного Алленом Вирфс-Броком, и была проверена вручную в процессе вставки.
- В сносках есть некоторые сплетни, например, оригинальный автор Rust также посетил конференцию TC39 в том году.
- Глоссарий — это простой «словарь JavaScript». Он ответил около 100 раз подряд»что такое функция"а также"Что такое JS-движок', что дает прямое определение этих понятий. Этот документ был проверен учеными-компьютерщиками из группы проекта ACM HOPL-IV под руководством Ричарда Габриэля и Гая Стила, и качеству этих утверждений можно доверять.
Хронология эволюции JavaScript
Эта временная шкала эволюции JavaScript, соответствующая приложению E к исходному тексту, представляет собой подробную таблицу, подобную этой:
Здесь мы наглядно видим, как переплелись многие исторические события, сформировавшие развитие JavaScript и Интернета. Например, на картинке выше видно, что Брендан Эйх только что за три месяца написал демо-прототип JavaScript (версия 1.0 еще не вышла), а Netscape, на котором он работает, выходит на рынок. В качестве другого примера мы также можем узнать, сколько времени основные браузеры потратили на «революцию производительности» после выпуска Chrome V8.
Объявление о выпуске JavaScript
Вы знаете, как в том году был официально выпущен JavaScript? Мы вернулись к пресс-релизу Netscape и Sun того же года в Приложении F, в котором, естественно, содержится много основных моментов:
С помощью JavaScript можно добавлять смарт-формы на HTML-страницы. Он может выполнять расчеты, такие как платежи по кредиту или конвертация валюты на стороне клиента, на основе ввода пользователя. А небольшой мультимедийный апплет прогноза погоды, написанный на Java, также может отображать соответствующие изображения и звуки в соответствии с текущими показаниями погоды в определенной области с помощью скриптов JavaScript. Серверный JavaScript может извлекать данные из реляционной базы данных и на лету форматировать их в HTML. Страница также может содержать сценарии JavaScript, которые выполняются как на клиенте, так и на сервере. На сервере сценарии могут динамически собирать и форматировать HTML-контент в соответствии с предпочтениями пользователя, хранящимися в реляционной базе данных; на клиенте сценарии могут склеивать различные Java-апплеты и элементы таблицы HTML, формируя интерактивный пользовательский интерфейс в режиме реального времени для поиска информации по всему миру. вся сеть...
Что он предсказывает? Разве это не означает форму, которую мы все еще делаем сегодня? Разве это не похоже на Node.js? Разве это не похоже на SSR, созданный сервером? Разве это не похоже на RN, где JS управляет нативными компонентами Java? Посмотрите, чем Netscape хвастался 25 лет назад, а все сообщество пришло к этому дню в 2020 году, и можно считать, что они неразлучны (вынуждены). Кроме того, в данных приложения скрыто больше деталей, ожидающих вашего открытия.
Как читать
мы подали заявкуcn.history.js.orgЭто красивое доменное имя, кроме того, вы также можете посетитьjshistory-cnЭта домашняя страница проекта GitHub, опыт чтения двух в основном одинаков.
Онлайн-версия развертывается с помощью GitHub Pages. Если вы не можете разрешить доменное имя по какой-либо причине, настройте его в hosts
185.199.108.153 cn.history.js.org
может (это действительно такgithub.io
Проблемы с разрешением, ссылкаОфициальное руководство GitHub).
Кроме того, из-за добавления большого количества неудобных для синхронизации оптимизаций форматирования деталей, самые ранние сериализованные статьи в Zhihu больше не будут поддерживаться, а также к их статьям добавлены соответствующие устаревшие предупреждения.
Наконец, вот каталог для прямого доступа:
- язык рождается
- Интерлюдия: Комментарий к ветру убит
- Создать стандарт
- Интерлюдия: JavaScript не нуждается в Java
- Провал реформы
- Интерлюдия: серьезно относиться к JavaScript
- Продолжать
- Суммировать
- Спасибо
- приложение
- Примечание
- использованная литература
Добро пожаловать, чтобы прочитать и исправить!
(Изображение в заголовке: Брендан Эйх и Аллен Вирфс-Брок, два автора оригинальной книги, 2011 г.)
Еще кое-что…
Мы работаем с сообщениями в блоге@张春雨Учителя активно сотрудничали в подготовке бумажной версии книги. Ждем вашего внимания и поддержки!