среда, 28 марта 2012 г.

Три вещи, которые я ненавижу в книгах о программировании для начинающих

Слишком длинные


Если обложка Вашей книги заявляет, что она для начинающих, и при этом составляет 800 страниц, Вы все делаете неправильно. Откройте свой редактор заново. Урежьте книгу вдвое. Я прекрасно понимаю, что делая книгу толще, Вы можете просто отправдывать ее огромную цену, но это, конечно же, никак не поможет начинающему программисту. Я также понимаю, что довольно непросто не позволять книге растолстеть. Есть куча сложных концепций и практик, которые требуют детального объяснения. Но эта та трудная работа, с которой Вам как автору приходится иметь дело. Хорошенько поразмыслите, чему следует учить новичков, а чему нет. Не вешайте на них груз в виде бесполезных знаний, не подавляйте их интерес здоровенным материалом.

Вот, например, книга краткая, но в тоже время достаточно подробная — «Eloquent Javascript» (Marijn Haverbeke).

Слишком много примеров вида «Hello, World!»


В идеале, «helloworld»-подобный пример должен встречаться в книге только единожды. Если и дальше приводятся беспорядочные и бесполезные примеры вроде рисования ёлочки в консоли, читатели все больше будут чувствовать себя оторванными от реальной практики. Читатели не идиоты. Они знают, что настоящие программисты никогда не рисовали ёлочки в консоли (разве что только ради смеха). Так зачем заставлять читателей делать всю эту ерунду? Если Вы обучаете их строкам, то приведите пример о генерации CSV файлов. Никогда больше не заставляйте читателей рисовать ёлку.

В книге «Ruby on Rails Tutorial: Learn Rails by Example» (Michael Hartl) автор занимается преподаванием во время создания реального проекта, что, несомненно, оставляет у читателя чувство завершенности.

Нет ответов на упражнения


Я считаю, что упражнения являются обязательной частью книги по программированию. Книги о программировании не должны быть для простого чтения. В конце концов эти книги должны учить своего читателя. Упражнения важны, поскольку они толкают мыслить самостоятельно и на самом деле писать программы. 

Но к чему эти упражнения, если читатели не могут выяснить правильные ответы на них. Следует ожилать, что начинающие программисты будут застревать в подвешенном состоянии очень часто. Они будут сталкиваться с проблема, которые автор даже и не предвидел. Без ответов, читатели, которые застряли на простой задачке просто откажутся от нее, так и не узнав решение. 

Я знаю, что есть много издательств, которые поддерживают связи с профессорами университетов. Они заключают договоры с преподавателями, чтобы исключить ответы из учебников, таким образом преподователи могут использовать эти вопросы в качестве экзаменационных. Если Вы являетесь частью этой схемы, то Вы недостойны учить кого-либо программировать.

Оригинал лежит здесь.

Комментариев нет:

Отправить комментарий