Python | Для изучающих программирование

Что читать и смотреть. Где найти идеи и реализации действительно сложных проектов.

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

Самые основы: Автоматизация рутинных задач с помощью Python, Свейгарт + миллион туториалов

Книга сосредоточена на практике, решении всякой мелкой рутины. Эти маленькие решения хорошо компонуются в уже основательные программы, которые вполне себе закрывают проблемы, как говорит книга - рутинные задачи. При таком подходе нет нехватки проектов, постоянная практика и понимание, что язык это просто инструмент.

Сама книга породила огромную волну материалов по "автоматизации" на python. Если вбить на ютубе "python automation", то темы роликов будут от работы в Excel до знакомств в Tinder(десяток подобных видео, и алгоритм рекомендаций избавит от нехватки новых идей).

Это может показаться смешным, но когда код сам играет в динозаврика в Google Chrome(это одно из популярных видео), новичок ощущает какую то "крутость" возможных программ. Этот, чисто психологический момент на ранних этапах весьма мотивирует.

После основ:

https://stepik.org/course/512 - курс по питону, для тех кто прошел основы. Стоит посмотреть хотя бы начало - там небольшой ввод в само устройство языка, стек вызовов, пространство имен, области видимости и прочее.

https://stepik.org/course/4519 курс в котором учат гуглить, искать на StackOverflow, читать документацию и юзать библиотеки. Это тот самый подход, о котором не особо пишут в книжках, однако, это именно про такую - трушную практику.

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

Когда пора на собес:

https://www.youtube.com/watch?v=5V7XG1mGiHc - курс по python от Computer Science Center.

После него, уже можно топать на собеседование(на самом деле, далеко не каждый джун сможет пройти этот курс), более глубокого курса, по крайней мере в ру сегменте, я не видел.

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

Есть более новая запись курса, но эта - 2015 года, мне нравится больше.

Где найти идеи и реализации сложных проектов

https://github.com/danistefanovic/build-your-own-x Легендарный репозиторий, который несмотря на огромную популярность(85к звезд на github), все еще многим не известен, и что особенно печально - многим начинающим программистам.

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

https://ruslanspivak.com/lsbasi-part1/ - один из туториалов подборки. Цикл из 19 статей, в котором автор(Ruslan Spivak), пишет интерпретатор языка Pascal на Python. По сути - полноценная книга с подробнейшим разбором, графическими пояснениями, примерами из жизни, даже юмором, а в конце каждой главы - вопросы для проверки понимания темы и домашнее задание. В данном случае формат блога, в нем есть комментарии(из особенно интересных - переводы на другие языки программирования), и обновления, к примеру, последняя статья вышла совсем недавно - 19 марта.

Очевидно, что это довольно сложная штука, и тут речь даже не о коде(кстати отличный пример ооп на python), дело в сложности самой технологии. Можно привести аналогию с книгой "Код" Петцольда(крайне рекомендую), книгу можно прочесть не умея писать код вообще, однако, это не значит что процесс изучения будет простым. Сама сложность описываемой технологии не даст это сделать быстро, без вникания в тему и процесса осознания работы сложной системы.

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

P.S. У меня есть канал в телеге - https://t.me/tobeprog , там о методах обучения и обзоры на уч.материалы.

0
Комментарии
-3 комментариев
Раскрывать всегда