Два раза меня спрашивали: «Скажите, мистер Бэббидж, а если вы введёте в машину неправильные данные, получится ли правильный ответ?». Непостижима та путаница в головах, которая приводит к таким вопросам.
Чарльз Бэббидж, «Отрывки из жизни философа» (1864)
Недавно решил поднять свой уровень владения JavaScript. Так уж сложилось, что я в основном имел дело с back end’ом, а на JavaScript писал только небольшие кусочки кода. При этом его популярность растёт очень быстро, и он используется уже не только в браузерах, но в серверной части (NodeJS).
Чтобы освежить знания и восполнить пробелы, я решил прочитать какую-нибудь книгу по JavaScript. После недолгого поиска выбор пал на Eloquent JavaScript (или Выразительный Javascript в переводе). Книга распространяется по свободной лицензии, так что по ссылкам вы можете скачать её совершенно бесплатно или читать онлайн. К сожалению, в переводе имеются технические ошибки, из-за чего некоторые фрагменты отображаются неверно.
Начало было неинтересное: автор рассказывал самые элементарные вещи и я просто стал перелистывать страницы. Но затем началось волшебство: с помощью простейших конструкций языка создавались элегантные куски кода. Привыкший к типизированным процедурным языкам, я начал осваивать немного функциональный и совсем нетипизированный стиль JavaScript.
В первых главах книги вы узнаете про основные конструкции и структуры языка и о том, как их использовать. А уже в восьмой главе вместе с автором вы напишите простой эмулятор жизни на JavaScript. Для новичков это может оказаться трудным испытанием, но стоит разобраться в каждой строчке кода и тогда все станет ясным и понятным.
Подобный стиль изложения сохраняется и далее: сначала объясняются какие-либо возможности языка, а потом с их помощью требуется создать интересный проект.
Подойдёт ли эта книга новичкам? Я считаю, что “да”. Если вы совсем не умеете программировать, то будет трудно, но вся необходимая информация в книге есть. В конце каждой главы есть упражнения, выполнив которые можно закрепить полученные знания (очень рекомендую их выполнять).
Станете ли вы крутым программистом на JavaScript, прочитав книгу? Однозначно “нет”. “Выразительный JavaScript” посвящена в первую очередь языку JavaScript. От программистов на JavaScript требуется знать намного больше: работа с библиотеками, фреймворками и т. д. Но вы получите хороший фундамент и в дальнейшем сможете заняться изучением других источников.