
Сергей Соловьев
Т-Банк
Мы все пишем на JavaScript, но нечасто задумываемся, с чем на самом деле работаем. Почему код на нем выглядит так, а не иначе, какие достижения прошлых поколений сделали такой прекрасный (ужасный — нужное подчеркнуть) язык возможным. Насколько код, который мы пишем, вообще зависит от нашей воли. Я расскажу три истории, после которых вы не сможете смотреть на свой код по-прежнему.
История 1. Компьютерные науки. JS унаследовал многое из языков-предшественников: cинтаксис из Java (наследует C), прототипное наследование из Self, функциональные возможности из Scheme (диалекта Lisp). Детальный взгляд на историю отдельных решений в дизайне JS поможет научиться лучше использовать его сильные стороны и обходить стороной слабые.
История 2. Лингвистика. JavaScript — это искусственный язык, сконструированный на основе английского, что заметно по ключевым словам, названиям стандартных объектов и функций. Многие из этих слов за столетия перекочевали из французского и латинского языков в английский. Удивительные истории заимствований и изменения значений слов на пути из языка в язык могут раскрыть смысл написанного вами кода с новой стороны, увидеть историческую и культурную преемственность.
История 3. Математика и логика. Язык — это не просто слова и символы, он обладает семантикой. Написанный код что-то значит. За знаками операторов, стрелочками стоят математические абстракции и, в конечном счете, операции процессора. Сколько лет и трудов понадобилось человечеству, чтобы мы могли вычесть строку из массива и получить число [] - '1' === -1
! Посмотрим, как основные вехи в области математики и логики привели к этому странному совершенству: от дедуктивной логики Аристотеля до монадоподобных Promis'ов и async/await. А главное — поймем, как все это помогает (или мешает) нам эффективно решать повседневные задачи.
Т-Банк