Spirit__
Отзыв с LiveLib от 22 декабря 2021 г., 03:10
Крайне тяжёлая для понимания книга. Я, конечно, привык к языкам без типов (PHP, JS), а в то, что содержит типы (Pascal, C), я не погружался, потому что был тогда школьником, да и нет там такого разнообразия возможностей, как мне кажется. Я привык, что тип переменной просто указывается, а затем она содержит данные этого типа. Но чтобы с типами можно было работать как со всеми данными (условные операторы, всякие extends, instanceof), понять сложно. И книга никак не упростила эту сложность. Более того, содержит куча опечаток (язык OCaml в одном месте назвали Okami, и это не самое критичное, есть и хуже) и странных терминов. Например, нигде не написано, что формы — это объекты JS. Я страницы, пожалуй, до сотой не понимал, про какие формы идёт речь, про тег что ли?
Многие темы вроде являются важными для глубокого понимания языка, особенно то, что касается обобщённых типов, всяких infer, типов, которые обязывают объект содержать ключи, перечисленные в виде другого типа. Но эти темы раскрываются так туго, что иногда даже после трёх перечитываний не становится понятно, что имеется в виду. Во многом тут проблема опять в терминологии.
Или другой пример: в теме о пространстве имён, написано, что можно сливать их с перечислениями (enum), чтобы создавать статические методы в перечислениях. Я к этому моменту уже забыл тонкости этих перечислений, вроде бы там строка при компиляции становится числом, это инструмент для избавления от магических числовых констант. И я совершенно не могу придумать, зачем там мог бы пригодиться статический метод. Даже не знаю, как его можно было бы вызвтаь. А книга не объясняет, там это просто заметка между делом.В общем, я рад, что закончил её читать (почти год потратил, потому что не было желания читать такое, но ведь деньги потрачены…), теперь попробую "Программируй & типизируй". Надеюсь, что она написана лучше.