diff --git a/1-js/1-getting-started/1-intro/article.md b/1-js/1-getting-started/1-intro/article.md
index 75db80f1..9480a342 100644
--- a/1-js/1-getting-started/1-intro/article.md
+++ b/1-js/1-getting-started/1-intro/article.md
@@ -2,94 +2,83 @@
Давайте посмотрим, что такого особенного в JavaScript, почему именно он, и какие еще технологии существуют, кроме JavaScript.
-## Что такое JavaScript?
+## Что такое JavaScript?
-*JavaScript* изначально создавался для того, чтобы сделать web-странички "живыми".
+*JavaScript* изначально создавался для того, чтобы сделать web-странички "живыми".
Программы на этом языке называются *скриптами*. В браузере они подключаются напрямую к HTML и, как только загружается страничка -- тут же выполняются.
**Программы на JavaScript -- обычный текст**. Они не требуют какой-то специальной подготовки.
В этом плане JavaScript сильно отличается от другого языка, который называется [Java](http://ru.wikipedia.org/wiki/Java).
-[smart header="Почему JavaScript?"]
+```smart header="Почему JavaScript?"
Когда создавался язык JavaScript, у него изначально было другое название: "LiveScript". Но тогда был очень популярен язык Java, и маркетологи решили, что схожее название сделает новый язык более популярным.
Планировалось, что JavaScript будет эдаким "младшим братом" Java. Однако, история распорядилась по-своему, JavaScript сильно вырос, и сейчас это совершенно независимый язык, со своей спецификацией, которая называется [ECMAScript](https://ru.wikipedia.org/wiki/ECMAScript), и к Java не имеет никакого отношения.
У него много особенностей, которые усложняют освоение, но по ходу учебника мы с ними разберёмся.
-[/smart]
+```
JavaScript может выполняться не только в браузере, а где угодно, нужна лишь специальная программа -- [интерпретатор](http://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80). Процесс выполнения скрипта называют "интерпретацией".
-[smart header="Компиляция и интерпретация, для программистов"]
-Для выполнения программ, не важно на каком языке, существуют два способа: "компиляция" и "интерпретация".
+```smart header="Компиляция и интерпретация, для программистов"
+Для выполнения программ, не важно на каком языке, существуют два способа: "компиляция" и "интерпретация".
-
-- *Компиляция* -- это когда исходный код программы, при помощи специального инструмента, другой программы, которая называется "компилятор", преобразуется в другой язык, как правило -- в машинный код. Этот машинный код затем распространяется и запускается. При этом исходный код программы остаётся у разработчика.
-- *Интерпретация* -- это когда исходный код программы получает другой инструмент, который называют "интерпретатор", и выполняет его "как есть". При этом распространяется именно сам исходный код (скрипт). Этот подход применяется в браузерах для JavaScript.
-
+- *Компиляция* -- это когда исходный код программы, при помощи специального инструмента, другой программы, которая называется "компилятор", преобразуется в другой язык, как правило -- в машинный код. Этот машинный код затем распространяется и запускается. При этом исходный код программы остаётся у разработчика.
+- *Интерпретация* -- это когда исходный код программы получает другой инструмент, который называют "интерпретатор", и выполняет его "как есть". При этом распространяется именно сам исходный код (скрипт). Этот подход применяется в браузерах для JavaScript.
Современные интерпретаторы перед выполнением преобразуют JavaScript в машинный код или близко к нему, оптимизируют, а уже затем выполняют. И даже во время выполнения стараются оптимизировать. Поэтому JavaScript работает очень быстро.
-[/smart]
+```
Во все основные браузеры встроен интерпретатор JavaScript, именно поэтому они могут выполнять скрипты на странице. Но, разумеется, JavaScript можно использовать не только в браузере. Это полноценный язык, программы на котором можно запускать и на сервере, и даже в стиральной машинке, если в ней установлен соответствующий интерпретатор.
-[warn header="Поговорим о браузерах"]
-
+```warn header="Поговорим о браузерах"
Далее в этой главе мы говорим о возможностях и ограничениях JavaScript именно в контексте браузера.
+```
-[/warn]
-
-## Что умеет JavaScript?
+## Что умеет JavaScript?
Современный JavaScript -- это "безопасный" язык программирования общего назначения. Он не предоставляет низкоуровневых средств работы с памятью, процессором, так как изначально был ориентирован на браузеры, в которых это не требуется.
-Что же касается остальных возможностей -- они зависят от окружения, в котором запущен JavaScript. В браузере JavaScript умеет делать всё, что относится к манипуляции со страницей, взаимодействию с посетителем и, в какой-то мере, с сервером:
+Что же касается остальных возможностей -- они зависят от окружения, в котором запущен JavaScript. В браузере JavaScript умеет делать всё, что относится к манипуляции со страницей, взаимодействию с посетителем и, в какой-то мере, с сервером:
-
-- Создавать новые HTML-теги, удалять существующие, менять стили элементов, прятать, показывать элементы и т.п.
-- Реагировать на действия посетителя, обрабатывать клики мыши, перемещения курсора, нажатия на клавиатуру и т.п.
-- Посылать запросы на сервер и загружать данные без перезагрузки страницы (эта технология называется "AJAX").
-- Получать и устанавливать cookie, запрашивать данные, выводить сообщения...
-- ...и многое, многое другое!
-
+- Создавать новые HTML-теги, удалять существующие, менять стили элементов, прятать, показывать элементы и т.п.
+- Реагировать на действия посетителя, обрабатывать клики мыши, перемещения курсора, нажатия на клавиатуру и т.п.
+- Посылать запросы на сервер и загружать данные без перезагрузки страницы (эта технология называется "AJAX").
+- Получать и устанавливать cookie, запрашивать данные, выводить сообщения...
+- ...и многое, многое другое!
-## Что НЕ умеет JavaScript?
+## Что НЕ умеет JavaScript?
-JavaScript -- быстрый и мощный язык, но браузер накладывает на его исполнение некоторые ограничения..
+JavaScript -- быстрый и мощный язык, но браузер накладывает на его исполнение некоторые ограничения..
-Это сделано для безопасности пользователей, чтобы злоумышленник не мог с помощью JavaScript получить личные данные или как-то навредить компьютеру пользователя.
+Это сделано для безопасности пользователей, чтобы злоумышленник не мог с помощью JavaScript получить личные данные или как-то навредить компьютеру пользователя.
Этих ограничений нет там, где JavaScript используется вне браузера, например на сервере. Кроме того, современные браузеры предоставляют свои механизмы по установке плагинов и расширений, которые обладают расширенными возможностями, но требуют специальных действий по установке от пользователя
**Большинство возможностей JavaScript в браузере ограничено текущим окном и страницей.**
-
+
-
-- JavaScript не может читать/записывать произвольные файлы на жесткий диск, копировать их или вызывать программы. Он не имеет прямого доступа к операционной системе.
+- JavaScript не может читать/записывать произвольные файлы на жесткий диск, копировать их или вызывать программы. Он не имеет прямого доступа к операционной системе.
-Современные браузеры могут работать с файлами, но эта возможность ограничена специально выделенной директорией -- *"песочницей"*. Возможности по доступу к устройствам также прорабатываются в современных стандартах и частично доступны в некоторых браузерах.
-
-- JavaScript, работающий в одной вкладке, не может общаться с другими вкладками и окнами, за исключением случая, когда он сам открыл это окно или несколько вкладок из одного источника (одинаковый домен, порт, протокол).
+ Современные браузеры могут работать с файлами, но эта возможность ограничена специально выделенной директорией -- *"песочницей"*. Возможности по доступу к устройствам также прорабатываются в современных стандартах и частично доступны в некоторых браузерах.
+- JavaScript, работающий в одной вкладке, не может общаться с другими вкладками и окнами, за исключением случая, когда он сам открыл это окно или несколько вкладок из одного источника (одинаковый домен, порт, протокол).
-Есть способы это обойти, и они раскрыты в учебнике, но они требуют специального кода на оба документа, которые находятся в разных вкладках или окнах. Без него, из соображений безопасности, залезть из одной вкладки в другую при помощи JavaScript нельзя.
-
-- Из JavaScript можно легко посылать запросы на сервер, с которого пришла страница. Запрос на другой домен тоже возможен, но менее удобен, т. к. и здесь есть ограничения безопасности.
-
-
+ Есть способы это обойти, и они раскрыты в учебнике, но они требуют специального кода на оба документа, которые находятся в разных вкладках или окнах. Без него, из соображений безопасности, залезть из одной вкладки в другую при помощи JavaScript нельзя.
+- Из JavaScript можно легко посылать запросы на сервер, с которого пришла страница. Запрос на другой домен тоже возможен, но менее удобен, т. к. и здесь есть ограничения безопасности.
-## В чём уникальность JavaScript?
+## В чём уникальность JavaScript?
Есть как минимум *три* замечательных особенности JavaScript:
-[compare]
-+Полная интеграция с HTML/CSS.
-+Простые вещи делаются просто.
-+Поддерживается всеми распространёнными браузерами и включён по умолчанию.
-[/compare]
+```compare
++ Полная интеграция с HTML/CSS.
++ Простые вещи делаются просто.
++ Поддерживается всеми распространёнными браузерами и включён по умолчанию.
+```
-**Этих трёх вещей одновременно нет больше ни в одной браузерной технологии.**
+**Этих трёх вещей одновременно нет больше ни в одной браузерной технологии.**
Поэтому JavaScript и является самым распространённым средством создания браузерных интерфейсов.
@@ -102,49 +91,52 @@ JavaScript -- быстрый и мощный язык, но браузер на
*HTML 5* -- эволюция стандарта HTML, добавляющая новые теги и, что более важно, ряд новых возможностей браузерам.
Вот несколько примеров:
-
-- Чтение/запись файлов на диск (в специальной "песочнице", то есть не любые).
-- Встроенная в браузер база данных, которая позволяет хранить данные на компьютере пользователя.
-- Многозадачность с одновременным использованием нескольких ядер процессора.
-- Проигрывание видео/аудио, без Flash.
-- 2D и 3D-рисование с аппаратной поддержкой, как в современных играх.
-
+
+- Чтение/запись файлов на диск (в специальной "песочнице", то есть не любые).
+- Встроенная в браузер база данных, которая позволяет хранить данные на компьютере пользователя.
+- Многозадачность с одновременным использованием нескольких ядер процессора.
+- Проигрывание видео/аудио, без Flash.
+- 2D и 3D-рисование с аппаратной поддержкой, как в современных играх.
Многие возможности HTML5 всё ещё в разработке, но браузеры постепенно начинают их поддерживать.
-[summary]Тенденция: JavaScript становится всё более и более мощным и возможности браузера растут в сторону десктопных приложений.[/summary]
+```summary
+Тенденция: JavaScript становится всё более и более мощным и возможности браузера растут в сторону десктопных приложений.
+```
-### EcmaScript 6
+### ECMAScript 6
-Сам язык JavaScript улучшается. Современный стандарт EcmaScript 5 включает в себя новые возможности для разработки, EcmaScript 6 будет шагом вперёд в улучшении синтаксиса языка.
+Сам язык JavaScript улучшается. Современный стандарт ECMAScript 5 включает в себя новые возможности для разработки, ECMAScript 6 будет шагом вперёд в улучшении синтаксиса языка.
Современные браузеры улучшают свои движки, чтобы увеличить скорость исполнения JavaScript, исправляют баги и стараются следовать стандартам.
-[summary]Тенденция: JavaScript становится всё быстрее и стабильнее, в язык добавляются новые возможности.[/summary]
+```summary
+Тенденция: JavaScript становится всё быстрее и стабильнее, в язык добавляются новые возможности.
+```
Очень важно то, что новые стандарты HTML5 и ECMAScript сохраняют максимальную совместимость с предыдущими версиями. Это позволяет избежать неприятностей с уже существующими приложениями.
-Впрочем, небольшая проблема с "супер-современными штучками" всё же есть. Иногда браузеры стараются включить новые возможности, которые ещё не полностью описаны в стандарте, но настолько интересны, что разработчики просто не могут ждать.
+Впрочем, небольшая проблема с "супер-современными штучками" всё же есть. Иногда браузеры стараются включить новые возможности, которые ещё не полностью описаны в стандарте, но настолько интересны, что разработчики просто не могут ждать.
...Однако, со временем стандарт меняется и браузерам приходится подстраиваться к нему, что может привести к ошибкам в уже написанном, основанном на старой реализации, JavaScript-коде. Поэтому следует дважды подумать перед тем, как применять на практике такие "супер-новые" решения.
При этом все браузеры сходятся к стандарту, и различий между ними уже гораздо меньше, чем всего лишь несколько лет назад.
-[summary]Тенденция: всё идет к полной совместимости со стандартом.[/summary]
-
+```summary
+Тенденция: всё идет к полной совместимости со стандартом.
+```
## Альтернативные браузерные технологии
-Вместе с JavaScript на страницах используются и другие технологии. Связка с ними может помочь достигнуть более интересных результатов в тех местах, где браузерный JavaScript пока не столь хорош, как хотелось бы.
+Вместе с JavaScript на страницах используются и другие технологии. Связка с ними может помочь достигнуть более интересных результатов в тех местах, где браузерный JavaScript пока не столь хорош, как хотелось бы.
-### Java
+### Java
Java -- язык общего назначения, на нём можно писать самые разные программы. Для интернет-страниц есть особая возможность - написание *апплетов*.
*Апплет* -- это программа на языке Java, которую можно подключить к HTML при помощи тега `applet`, выглядит это примерно так:
-```html
-
+```html run