128+ полезных ресурсов для начинающих программистов
В подборке — как базовые материалы по разработке в целом, так и по восьми самым популярным направлениям.
Тем, кто ещё не определился с направлением в разработке, поможет бесплатный курс «Какую профессию в программировании выбрать».
Навигация по ресурсам:
База для всех разработчиков
- Чистый код. Автор: Роберт Мартин. Как писать код, который будет понятен другим разработчикам.
- Паттерны объектно-ориентированного проектирования. Авторы: Эрих Гамма, Ричард Хелм, Роберт Джонсон, Джон Влиссидес.
- Искусство программирования. Автор: Дональд Кнут. Много формул, задач, алгоритмов. Может быть сложно для новичков.
- Совершенный код. Автор: Стив Макконнелл. Как писать, тестировать и оптимизировать код. Много примеров методик разработки.
- Чистая архитектура. Автор: Роберт Мартин. Как писать чистый код, какую роль архитектура играет в разработке, какие бывают подходы к проектированию архитектуры.
- Современный подход к программной архитектуре. Авторы: Нил Форд, Марк Ричардс, Прамод Садаладж и Жамак Дехгани. Про подходы к проектированию систем и для чего они нужны.
- Software Engineering. The Soft Parts. Автор: Адди Османи. Про важные софтскилы для разработчиков.
- Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем. Автор: Эрик Эванс. О том, как создавать эффективные системы и что для этого нужно уметь.
- Программист-фанатик. Автор: Чед Фаулер. Рассказывает о начале карьеры разработчика.
- Программист-прагматик. Авторы: Дэвид Томас и Эндрю Хант. Советы для программистов о том, как развить софтскилы, изменить мышление и посмотреть на код по-новому.
- Карьера программиста. Автор: Гейл Лакман Макдауэл. Как проходить технические собеседования в крупные компании.
- Что такое Git за 8 минут. Объясняем на пальцах. Автор видео рассказывает про Git: что это, для чего используется, принцип работы, виды систем контроля версий и т. д.
- Лекция про Git для начинающих от Яндекса. Рассказывают о том, как устроен Git изнутри, про базовые команды, ситуации, в которых что-то может пойти «не так», и т. д.
- Видео про распространённые ошибки в работе с Git и как их исправлять. Что делать, если забыли добавить файл в последний коммит, как сбросить изменения на stage, как откатить коммит и т. д.
- Бесплатный курс от Яндекс Практикума «Основы работы с Git». Программа курса основана на реальных рабочих задачах, с которыми сталкиваются программисты.
- Git: распространённые ошибки и способы их исправления — статья о том, какие ошибки при работе с Git встречаются чаще всего и что с ними делать.
- ProGit — книга-учебник, рассказывает про Git. Новичкам читать может быть сложно: учебник больше подойдёт специалистам с опытом.
- Git happens! 6 типичных ошибок Git и как их исправить — о самых распространённых ошибках при работе с Git.
- Приложение книги Pro Git book — об окружениях, где Git может быть полезен.
Для разработчиков на языке 1С
- Бесплатный курс «1С: программирование на русском» — примерьте на себя роль разработчика 1С.
- 1C:Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. Издание 3. Авторы: М. Г. Радченко и Е. Ю. Хрусталева. Учебник для новичков. Много задач и практических упражнений.
- 1С:Программирование для начинающих. Детям и родителям, менеджерам и руководителям. Разработка в системе «1С:Предприятие 8.3». Издание 2, стереотипное. Автор: М. Г. Радченко. Подойдёт школьникам и тем, кто не пишет код, — например, менеджерам проектов.
- Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных». Издание 3-е, стереотипное. Автор: Е. Ю. Хрусталёва. Фундаментальная информация об отчётах и системе компоновки данных.
- Технологии интеграции 1С:Предприятия 8.3. Издание 2, стереотипное. Автор: Е. Ю. Хрусталева. Учебник для тех, кто уже освоил базу. Подойдёт для уже практикующих специалистов.
- Знакомство с разработкой мобильных приложений на платформе «1С:Предприятие 8». Издание 3. Автор: Е. Ю. Хрусталева. Учебник для тех, кто хочет научиться создавать мобильные приложения на Android.
Для разработчиков на языке С++
Подойдут тем, у ĸого есть базовое представление о программировании.
Леĸции Константина Владимирова, преподавателя МФТИ, ex-ведущего инженера ĸомпиляторов в Intel.
Леĸторий ФПМИ — физтех-шĸолы приĸладной математиĸи и информатиĸи.
Обучающие видео от Сергея Балаĸирёва.
- Сайт learncpp.com — англоязычный ресурс для начинающих разработчиков.
Подойдёт тем, кто уже изучал другой язык программирования.
- Тренировĸи по алгоритмам — тренажёр от Яндекса.
- Kata по C++ — сайт с задачами, ĸоторые делают другие пользователи.
- MC++ Blog&News — блог Джонатана Боĸĸара.
- C++ Stories — личный блог Барта Филиппеĸа про C++.
- Fluent C++ — блог Антона Полухина.
- Блог на Хабре — блог Андрея Карпова.
- Блог на Хабре — комьюнити единомышленников.
Российсĸая группа эĸспертов, ĸоторая помогает в проработĸе идей и их представлении международному ĸомитету ISO WG21 C++.
- cppreference — главный сайт с доĸументацией и описанием языĸа C++.
- Сайт ĸомитета C++ — собирает все новости, анонсы и блоги воедино.
- cdecl — переводчиĸ с С++ языĸа типов на английсĸий и наоборот.
- Compiler Explorer — инструмент, на ĸотором можно сĸомпилировать C++ ĸод, посмотреть машинный вид, выбрать ĸомпилятор на любой архитеĸтуре и т. д.
- Online GDB — здесь можно запустить C++ ĸод в браузере.
- C++ Insights — мир всего неявного в C++.
- Quick C++ Benchmarks — здесь можно замерить скорость кода с использованием удобной встроенной библиотеĸи.
- Perfbench — можно отĸрыть несĸольĸо файлов и использовать больше фунĸций для профилирования отдельных частей ĸода.
- Decompiler Explorer — сайт для любителей реверс-инжиниринга и деĸомпиляций.
- Compare C++ Builds — можно замерить скорость ĸомпиляции.
- Google C++ Style Guide — если хотите писать ĸод в едином стиле, но не знаете правил, возьмите стиль ĸода ĸомпании Google.
- GitHub fffaraz/awesomecpp — лучшие библиотеĸи для C++ для проеĸтов.
- Github AnthonyCalandra/modern-cpp-features — все нововведения в одном месте.
Для разработчиков на Python
- GitHub-репозиторий РТУ МИРЭА — курс лекций и практических заданий.
- Бесплатный курс «Основы Python-разработки» — от Яндекс Практикума для новичков.
- Freecodecamp — интерактивный учебник по Python.
- Python for you and me — онлайн-учебник для начинающих и продвинутых.
- Репозиторий 30-Days-Of-Python — материалы по изучению Python.
- Диджитализируй! Типизированный Python — книга по типизированному Python от Youtube-канала «Диджитализируй».
- Видеокурс от Яндекса «Школа бэкенд-разработки 2019» — позволит научиться промышленной разработке на Python.
- Python Testing with pytest — цикл статей о библиотеке pytest.
- Test-Driven Web Development with Python / «Экстремальное программирование. Разработка через тестирование» — книга проведёт по процессу разработки веб-приложения от начала до конца.
Официальная документация фреймворков.
- Django school — на канале собраны плейлисты по разработке разных проектов.
- Канал Артёма Шумейко — акцент на разработку приложения с нуля.
- Курс Python Tutorials — подойдёт начинающим и опытным разработчикам.
- Подкаст Talk Python To Me — интервью с профессионалами и талантливыми любителями из мира Python.
- Подкаст Python Bytes — еженедельный подкаст с новостями для разработчиков Python.
- Гайд от создателя Python Гвидо ван Россума — тем, кто хочет изучить интерпретатор СPython и не знает, с чего начать.
- Статья о трассировке GIL в Python — тем, кто работает на стыке Python и C Extensions.
- Платформа Temporal — поможет изучить новый подход к разработке и выполнению кода.
- Code Academy — онлайн-платформа для изучения программирования, включая Python.
- Python.org — официальный сайт языка программирования Python.
- Real Python — онлайн-ресурс для изучения Python.
- LearnPython.org — ресурс для обучения программированию на Python с нуля.
- Python Class от Google — бесплатный онлайн-курс от Google по изучению Python.
Тренажёры для изучения Python.
- MoscowPython — канал с записями конференций и встреч программистов, на которых рассказывают об изучении Python.
- Django School — видеоуроки по созданию сайтов и программированию.
Для Android-разработчиков
- Jetbrains Academy — курс по Kotlin для новичков.
- Kotlin в действии. Авторы Д. Жемеров и С. Исакова. Обязательно к прочтению тем, кто хочет войти в Kotlin и писать на нём эффективно.
- Kotlin Bootcamp — бесплатный курс, где можно разобрать базу языка в формате лекций.
- Google Android Developers — платформа с курсами от Google.
- Ресурсы от Дмитрия Виноградова и Александра Климова — много материалов по Android-разработке.
- Android Broadcast — Youtube-канал Кирилла Розова.
- Записи лекций Яндекс. Школы мобильной разработки: Android — помогут разобраться с тестами, базовыми компонентами, CI/CD и другими принципами разработки.
- Mobile Developer — видео, специализированные на Android.
- Android Academy — много видео для начинающих с подробной информацией про базовые темы Android-разработки.
- Refactoring Guru — интерактивный сервис, который позволит погрузиться в мир архитектуры, рефакторинга, принципов SOLID и т. д.
Для iOS-разработчиков
- Swift.org — официальный сайт языка программирования Swift.
- Human Interface Guidelines — руководство по созданию интерфейсов от Apple.
- Конференции WWDC — ежегодная конференция от Apple, на которой представляются последние технологии, новые версии операционных систем и инструменты для разработчиков.
- Kodeco — обширная библиотека материалов, охватывающих основы программирования и продвинутые темы, такие как анимация и многопоточность.
- LeetCode — платформа для решения задач по программированию.
Телеграм-каналы, которые помогут оставаться в курсе последних новостей и трендов, а также находить вдохновение.
Для Java-разработчиков
Авторы: Кэти Сьерра, Берт Бэйтс. Книга об основах языка программирования Java.
Автор: Герберт Шилдт. Ещё одна книга об основах Java с примерами кода.
Авторы: Рауль-Габриэль Урма, Марио Фуско, Алан Майкрофт. Книга о новых функциях Java 8.
Автор: Роберт Лафоре. Рассказывает, как работают алгоритмы и структура данных в языке Java.
- JavaRush — огромное количество материалов по Java.
- Java Concurrency на практике. Автор Брайан Гётц. Книга даёт прочную базу в Java-разработке и поможет изучить непростую тему потокобезопасности.
- Java Tutorial от W3Schools — сервис с онлайн-туториалами и тренажёрами по разным языкам программирования, в том числе по Java.
- Курс лекций по информатике от профессора МИРЭА Романа Шамина — о том, что такое программирование, и основных понятиях.
- Материалы по информатике от «Фоксфорда» — 200+ видео, которые можно фильтровать по темам.
- Основы информатики от «Crash Course: Computer Science» — англоязычный ускоренный курс информатики, доступны русские субтитры.
- Java_Developer — семитысячное русскоязычное сообщество Java-разработчиков в Телеграме.
- Javaproglib — телеграм-канал с видео, статьями и мемами по Java и не только.
- Javastart — телеграм-чат для новичков в Java-разработке.
- Learnjava — англоязычный сабреддит, содержит ответы на вопросы новичков о Java-разработке.
- Learnprogramming — сабреддит для обучающихся программированию с вопросами, советами, историями успеха.
- Dev.Java — платформа обучения Java от Oracle на английском языке.
- Раздел Oracle-документации по Java с туториалами.
- Бесплатный курс от Udemy на английском языке с примерами кода.
- Бесплатный открытый онлайн-курс Хельсинкского университета по объектно-ориентированному программированию на Java на английском языке.
- Youtube-канал Нельсона Джало, Java-разработчика и создателя образовательной платформы с набором курсов.
- CodingWithJohn — Youtube-канал ведёт Джон, разработчик с 10-летним стажем.
Для фронтенд-разработчиков
- W3schools — ресурс с материалами и упражнениями по разным технологиям и языкам программирования.
- learn.javascript — один из самых известных онлайн-учебников по JavaScript.
- JavaScript 30 — на этом ресурсе можно сделать 30 интересных мини-проектов на JavaScript, HTML и CSS.
- Eloquent JavaScript — книга поэтапно расскажет про основы языка.
- You Don't Know JS Yet — самая известная серия книг про JavaScript, его устройство и тонкости.
- JavaScript Allongé — книга рассказывает про функциональное программирование на JavaScript.
- Фронтенд — это не больно — статья с набором ссылок, которые помогут стать лучше как фронтенд-разработчик.
- MDN Web Docs — один из источников, где программисты ищут информацию о функциях из JavaScript или работы свойства в CSS.
- Doka.guide — множество статей про отдельные методы и функции в JavaScript, теги в HTML и свойства в CSS, архитектуру приложений и доступность.
- react.dev — один из самых популярных фреймворков для написания приложения на JavaScript.
- Scrimba Learn React — большой образовательный ресурс с интерактивными уроками на множество тем.
- Youtube-канал «Фронтенд» — видео докладов с митапов и конференций, которые проводит Яндекс.
- Frontend masters — огромный набор видео по различным темам и веб-фреймворкам.
- Egghead — ресурс с набором коротких видео, подробно раскрывающих тему.
Для разработчиков на Go
- SQL Tutorial от W3Schools — туториал для разработчиков на Go.
- Официальный тур по Go — ресурс поможет освоить базовый синтаксис языка.
- Бесплатный курс «Основы Go» — курс от Яндекс Практикума.
- Введение в программирование на Go. Автор: Калеб Докси. Подойдёт, если формат классического учебника кажется вам эффективнее курсов и мануалов.
- Язык программирования Go. Авторы: Алан Донован и Брайан Керниган. Руководство для тех, кто уже уверенно владеет другим языком.
- Go в примерах. Автор: Марк МакГрэнаган. Учебник для тех, кто предпочитает сразу переходить к коду.
- Эффективный Go на русском языке. Дополнение к официальному туру по Go. Книга состоит из небольших глав, в каждой из которых описываются особенности Go.
- Стандартная библиотека Go — огромная, можно не читать полностью, а заглядывать время от времени.
- Go Cheat Sheet — набор шпаргалок по Go. Помогают, когда пишешь код и внезапно возникает какой-нибудь несложный вопрос.
- Go go-to guide — сборник кратких инструкций, который можно проходить как учебник по основам.
- Go: десериализация JSON с неправильной типизацией, или как обходить ошибки разработчиков API. Автор: Юрий Плохов. Материал сжато рассказывает про JSON.
Первый нах. И последний. Никому не интересно
Привет, когда запустите годный, вдумчивый и глубокий курс по Cи? С него можно вкатываться куда угодно а материал не устареет годами если сделать все по красоте. Ни у кого из конкурентов нет нормального, могли бы плотно занять нишу.
В целом да. Но это все давно уже есть и много где.
Но спасибо что напомнили о себе.
Примечательно, что среди ресурсов нет их курсов)
Знают толк в знаниях)