Здравствуйте! Это отзыв о прочитанной мной книге «Программируем на Python» за авторством Майкла Доусона от издательства «Питер».
Постоянные читатели блога знают, что я изучаю компьютерные технологии с самых основ, поэтому, как и предыдущий книжный обзор (учебник по PostgreSQL), этот также написан человеком, который познакомился с изучаемой темой совсем недавно.
По этой причине, в качестве основы для знакомства с языком Python, я искал учебник, рассчитанный на новичков в программировании. Таких книг закономерно больше, чем специализированной литературы, поэтому пришлось проводить тщательный отбор. Но когда узнал, что автор этого издания – Майкл Доусон – причастен к индустрии компьютерных игр, я как заядлый геймер сразу определился с выбором😏
Действительно, все наглядные примеры тех или иных возможностей Python представляют собой небольшие игры. В начале – это крошечные модули, взаимодействующие с пользователем через текстовую консоль. Зато финальный проект – полноценная двухмерная игра с графическим интерфейсом.
Так как компьютерные игры ассоциируются с развлечениями, то и к подаче материала автор подошел с изрядной долей юмора. Первая половина книги изобилует забавными примерами и аналогиями. Особенно мне запомнилась шутка, в которой автор объяснял механизм распределенных ссылок на значения переменных на примере вечеринки с блэкджеком и знаменитостями (привет, Футурама😄) Иногда даже хотелось, чтобы каламбуров и развлечений было чуть меньше. Меня такая манера немного сбивала с рабочего настроя.
Однако, во второй половине, когда речь зашла о действительно сложных для новичка вещах, вроде, логики создания объектов и наследовании классов, шуток стало заметно меньше, а полезной информации в тексте больше. Ну а как иначе? Дела-то начались серьезные!😎
Еще одна неоднозначная особенность книги – ее автономность. В ней нет отсылок к официальной документации Python вроде «А более подробно об этом операторе вы можете прочитать в разделе 4.4. документации». С одной стороны это хорошо, так как для изучения самых основ, вам не нужно ничего, кроме компьютера и этого учебника. Но с другой стороны, если вы не собираетесь останавливаться на элементарном уровне изучения программирования, связь с официальной документацией была бы очень полезна.
Ну а главным достоинством, которое перевешивает все субъективные недостатки, является отличный способ последовательного знакомства читателя с новыми элементами языка программирования. Как я уже сказал, в самом начале ваши программы будут состоять всего из нескольких строк кода и одного-двух операторов. Но дальше автор по одному добавляет все новые и новые возможности, причем в каждом последующем примере использует и весь предыдущий материал, только в немного другой форме. Таким образом, вы закрепляете все пройденные темы и поэтапно расширяете возможности своих программ. Причем нет ощущения, что тебе повторяют одно и то же. Каждая игра (по одной на главу) имеет оригинальную структуру и логику работы.
Для тех, кто решит начать знакомство с миром программирования с помощью этой книги, я хотел бы дать пару рекомендаций. Во-первых, не старайтесь сразу же при появлении новой функции или оператора зазубривать их синтаксис и нюансы работы. Далее по тексту, в следующей главе или чуть позже, вы наверняка не раз на практике примените эти возможности. Во-вторых, рекомендую если и не печатать самому, то хотя бы копировать себе код программ из дополнительных материалов. Так намного лучше в памяти откладывается последовательность работы различных условий и циклов, а также приобретается определенная насмотренность (да-да, прямо как у художников😉)
В итоге, книгой я остался доволен. Не могу рекомендовать ее в качестве серьезного учебного пособия, но как введение в самые основы программирования она отлично подходит. Особенно, если вам тяжело дается лекционная подача материала – издание обильно приправлено юмором, а практические упражнения в виде создания несложных игр точно не дадут заскучать.
P.S. А теперь совсем чуть-чуть по основной тематике блога – про мое личное обучение😅
Так как я изучил основы уже двух языков программирования – SQL и Python – по совету работающего в IT знакомого, планирую выделить пару недель в апреле для закрепления уже пройденного материала, чтобы немного упорядочить ту кашу, которая сейчас у меня в голове😊 Запросы на SQL буду тренировать на sql-ex.ru, о котором уже говорил много хорошего, а по Python меня заинтересовал сервис с упражнениями checkio.org.
Если вы знаете хорошие сервисы для отработки базового синтаксиса и логики Python, то я как всегда буду рад вашим советам в комментариях🙏
Ну а пока, до новых встреч!