Автор книги
"Learn Python The Hard Way" Zed. A. Shaw предлагает интересный подход к обучению программированию: "Вот тебе исходник (много непонятных символов), перепечатай его байт в байт, пень! Слышишь, печатай!" Считается, что ученик, вбивая цепочки символов и глядя на результат, который они выдают, сможет сам понять, что же творится в его программе и почему результат именно такой. Это немного противоречит классическому "школьному подходу", когда умный учитель на "теории" заранее расскажет ученикам, что они сегодня делают и что должно получиться - никаких сюрпризов и никакой работы ума.
Пайтон для его метода обучения подходит как нельзя лучше - язык уж очень милый и лаконичный, без всякого вспомогательного мусора вроде #include или begin/end.
Книжка предназначена совсем для начинающих (то есть людей, вообще не знающих, что такое программирование), поэтому иногда автор всё-таки пытается на разговорном языке объяснить базовые понятия, или просит ученика их загуглить и попытаться понять самому. Например, программисты используют переменные (4-я глава книги) чтобы делать код похожим на английский текст и использовать понятные имена для используемых данных. В 15-й главе автор доходит до работы с файлами. "Как же ввести в программу имя файла, который мы будем открывать?" - спрашивает он. Конечно, можно просто вбить строку с именем в код программы, но это HARD CODE и это ПЛОХО, НЕ ДЕЛАЙТЕ ТАК!!1, потому что для выбора другого файла придётся лезть в код программы. Поэтому, дети, используйте либо аргументы командной строки, либо запрашивайте ввод имени файла с экрана. Ещё пара слов о последовательности подачи материала:
- В 23-й главе автор предлагает рискнуть почитать любой код на Пайтоне на github.com
- В 29-й главе он впервые упоминает условный оператор if.
Очень круто и противоречиво. Интересно, реально ли всё это работает в преподавании.