#### Содержание
* [Введение][1]
* [Величины, типы и операторы][2]
* [Структура программ][3]
* [Функции][4]
* [Структуры данных: объекты и массивы][5]
* [Функции высшего порядка][6]
* [Тайная жизнь объектов][7]
* [Проект: электронная жизнь][8]
* [Поиск и обработка ошибок][9]
* [Регулярные выражения][10]
* [Модули][11]
* [Проект: язык программирования][12]
* JavaScript и браузер
* Document Object Model
* Обработка событий
* Проект: игра-платформер
* Рисуем на Canvas
* HTTP
* Формы и поля ввода
* Проект: Paint
* Node.js
* Проект: веб-сайт по обмену умениями
* [Песочница для кода][13]
_То, что проверяет и определяет смысл выражений в языке программирования, является в свою очередь просто программой. Хэл Абельсон и Жеральд Сасман, «Структура и интерпретация компьютерных программ». Когда учение спросил учителя о природе цикла Данных и Контроля, Юань-Ма ответил: «Подумай о компиляторе, компилирующем самого себя». Мастер Юань-Ма, «Книга программирования»_ Создать свой язык программирования удивительно легко (пока вы не ставите запредельных целей) и довольно поучительно. Главное, что я хочу продемонстрировать в этой главе – в построении языка нет никакой магии. Мне часто казалось, что некоторые человеческие изобретения настолько сложны и заумны, что мне их никогда не понять. Однако после небольшого самообразования и ковыряния такие штуки часто оказываются довольно обыденными. Мы построим язык программирования Egg (Яйцо). Он будет небольшим, простым, но достаточно мощным для выражения любых расчётов. Он также будет осуществлять простые абстракции, основанные на функциях. [Читать дальше →][14]
[1]:
http://habrahabr.ru/post/240219/
[2]:
http://habrahabr.ru/post/240223/
[3]:
http://habrahabr.ru/post/240225/
[4]:
http://habrahabr.ru/post/240349/
[5]:
http://habrahabr.ru/post/240813/
[6]:
http://habrahabr.ru/post/241155/
[7]:
http://habrahabr.ru/post/241587/
[8]:
http://habrahabr.ru/post/241776/
[9]:
http://habrahabr.ru/post/242609/
[10]:
http://habrahabr.ru/post/242695/
[11]:
http://habrahabr.ru/post/243273/
[12]:
http://habrahabr.ru/post/243277/
[13]:
http://eloquentjavascript.net/code
[14]:
http://habrahabr.ru/post/243277/#habracut