Рассказываем о лучших сайтах для изучения программирования.
Для удобства все ресурсы поделены на четыре категории: те, что дают теоретические знания, полномасштабные курсы с педагогами и набором групп, автоматизированные системы обучения и тренажеры для отработки полученных знаний.
Теоретические базы для изучения программирования
Лучший метод научиться программировать – постоянно программировать. Но чтобы начать, нужны теоретические знания. Их можно бесплатно взять из сети. Причем в исчерпывающем виде, без необходимости обращаться к практикумам, интерактивным курсам и т.п.
Ниже рассмотрим несколько популярных источников теоретической информации для разных языков.
Learn Javascript
Стоимость: Бесплатно
Настольная книга любого JavaScript-разработчика. Собрание основных концепций объектно-ориентированного программирования – от фундаментальных до мелких, но все еще важных. JS. Учебник LearnJavascript.ru позволяет учиться разработке с нуля и под конец чтения дает возможность создавать собственные многостраничные сайты.
Правда, придется откуда-то параллельно черпать знания в областях HTML и CSS или всерьез заняться изучением какого-нибудь самостоятельного фреймворка в духе ReactJS, Angular, Svelte или SolidJS.
В учебнике есть практические задания, некоторые из них оснащены автоматическими тестами, но предполагается, что студент будет заниматься практикой сам.
Перейти на LearnJavascript.ru
Code-Live
Стоимость: Бесплатно
Почти то же, что и LearnJavascript.ru, но для языка С++. Code-Live устроен не так удобно, как его собрат о языке JS, но он идеально подходит для первичного знакомства с программированием и азами C++.
В этом пособии много важной теории, дающей базовое понимание того, как вообще работают языки программирования. Вместе с тем тут хватает примеров кода, дающего возможность опробовать С++ в деле и получить практические навыки.
Перейти в Code-Live.ru
Apple Books
Стоимость: Бесплатно
Это, конечно, не сайт как таковой, но определенно стоящий ресурс для изучения программирования с применением языков, которые использует компания Apple. Отличный вариант для тех, кто планирует использовать Xcode, Objective-C и Swift, чтобы создавать приложения под macOS и iOS на «родном» для них языке.
Учебники Learn to Code в коллекции Apple Books содержат теоретические знания и сотни упражнений для отработки полученных навыков. Все обучение проходит самостоятельно. Понадобится только среда для разработки, то есть приложение Xcode.
Скачать пособия по программированию Learn to Code
MDN
Лучшая база знаний для веб-разработчиков. Ее создала и поддерживает компания Mozilla. Там есть вся информация о веб-разработке. К ней можно обращаться на ранних этапах знакомства с веб-разработкой либо использовать в качестве обучающего материала для знакомства с работой методов в JavaScript или тегов в HTML.
В чем-то MDN похожа на LearnJavaScript.ru, но тут содержится исключительно техническая информация без дополнительных разъяснений. Поэтому такой метод самообразования может показаться слишком сложным, особенно на ранних этапах.
Перейти в MDN
GitHowTo
Стоимость: Бесплатно
Это не совсем сайт для изучения программирования, но он тесно связан с этой дисциплиной. GitHowTo – это большое пошаговое пособие по работе с системой управления данными Git.
Git является неотъемлемой частью деятельности программистов, так как позволяет создавать несколько версий одного проекта, инкрементально вносить изменения в готовый продукт и обсуждать любые изменения с другими членами команды.
Управление файлами проекта производится через командную строку, поэтому перед началом действительно стоит пройти полномасштабное обучение, чтобы разобраться во всех тонкостях. GitHowTo – идеальный способ справиться с этой задачей.
Перейти в GitHowTo
StackOverflow
Стоимость: Бесплатно
StackOverflow – это «Ответы.Mail.ru», только для разработчиков. Какие тут вопросы только не задают, но на них всегда дают развернутые и понятные ответы. Правда, зачастую приправляя ответы готовым рабочим кодом. Из-за этого появляется весьма ощутимый соблазн просто скопировать то, что кто-то уже реализовал, и совсем не думать своей головой.
StackOverflow может сделать из вас крайне ленивого и неумелого программиста, который даже простые задачи будет решать только с помощью чужого готового кода. Чтобы не попасть в эту ловушку, используйте StackOverflow в крайних случаях.
Перейти к StackOverflow
Документации
Стоимость: Бесплатно
Никто лучше самих разработчиков не расскажет о своем продукте. Поэтому за актуальной и точной информацией стоит обращаться именно к документации. Серьезно, читая документацию и туториалы на официальных сайтах условных React, TypeScript, C# и прочих ресурсов, вы научитесь разрабатывать, используя эти фреймворки и языки.
Документацией занимаются специалисты в области техрайтинга, поэтому данные в ней всегда аккуратно структурированы и доносятся на понятном для «простых людей» языке.
А еще чтение документации в любом случае понадобится в дальнейшей работе, так как придется работать с API, то есть уже готовыми программными продуктами других разработчиков, для которых однозначно нет курсов и практикумов. Документация – ваш главный друг. Не бойтесь ее.
Практикумы и курсы по программированию
Этот вид обучения программирования наиболее близок к традиционной учебе. Лекции, семинары, практика, общение с педагогами и т.п. Сюда включено все, что может понадобиться начинающему программисту. Обычно обучение начинается с азов для людей, не имеющих навыков, а заканчивается трудоустройством. Наиболее полный вид обучения, хоть и зачастую платный.
Coursera
Стоимость: Зависит от выбранного курса
Одна из наиболее популярных и востребованных площадок для обучения чему-либо. И один из лучших сайтов для изучения программирования в частности. Coursera собрала под одной крышей несколько сотен крупнейших вузов планеты и IT-корпораций.
На площадке можно найти курсы от Яндекса, Google, IBM и по окончании обучения сразу же получить предложение пройти стажировку в одной из этих компаний.
Формат обучения зависит от того, какой стиль обучения выберет преподаватель. Это могут быть лекции, текстовые материалы, вебинары, сторонние площадки для совместной работы над кодом и т.п.
Стоимость обучения в Coursera варьируется, но создатели платформы обычно идут на уступки и готовы сделать большую скидку, если у вас есть финансовые трудности.
Перейти в Coursera
Hexlet
Стоимость: от 2900 рублей в месяц (без практических проектов)
Одна из лучших онлайн-школ для тех, кто решил заняться программированием. Специалисты из Хекслет ориентируются на фундаментальные обучающие пособия, но при этом модифицируют их, объединяя несколько способов получения знаний в один удобный полуавтоматизированный курс.
Хекслет содержит в себе более сотни курсов по различным дисциплинам, включая JavaScript, CSS, PHP, Python, SQL, Node.js и так далее. Также специалисты Hexlet создали базу из более чем 2200 часов теоретических знаний и почти 900 упражнений.
По ходу обучения студенты не только получают теоретические знания и выполняют упражнения. Они общаются с менторами и другими обучающимися, выполняют практические проекты, идущие в портфолио, а в конце курса получают сертификат, подтверждающий квалификацию.
Перейти в Хекслет
EPAM
Стоимость: Бесплатно
Белорусская компания EPAM, занимающаяся IT-консалтингом и разработкой ПО под заказ, ежегодно собирает людей на полномасштабный бесплатный курс по разработке.
Курс практически полностью строится вокруг взаимодействия студентов друг с другом. Они общаются в общем чате, задают друг другу вопросы, помогают и даже дают оценки заданиям товарищей (система кросс-чек). Преподаватели и менторы здесь – редкость. Вам дают среду для самообразования, а не водят за ручку и объясняют, что и как работает.
В качестве программной платформы выступает система RS School. Она позволяет автоматизировать проверку большей части заданий. В их числе упражнения на знание алгоритмов из Codewars, базовые навыки работы с Git и умение корректно верстать страницы.
Обучение делится на несколько этапов. В них входит изучение языков, а также развитие навыков командной работы и прохождения собеседований. Да, вас научат устраиваться программистом в крупные компании и предложат стажировку (если будете хорошо учиться).
Для регистрации нужно подать заявку на сайте Community-Z (когда начнется очередной набор студентов).
Яндекс.Практикум
Стоимость: Зависит от выбранной профессии
Самый известный IT-бренд России тоже учит людей программированию. В систему курсов Яндекс.Практикум входят несколько программ обучения разработке на таких языках, как C++, JavaScript, Python и т.п.
Яндекс учит очень дорого, но зато обещает действительно профессиональную квалификацию в выбранной области. По окончании обучения каждый студент сможет без лишних обращений в Google уверенно взаимодействовать с Git, управлять крупными бэкенд-проектами на базе C++ и верстать страницы так, что ни один валидатор не прикопается.
Также Яндекс дает актуальные знаний и навыки, действительно необходимые для трудоустройства.
Обучение занимает около 9 месяцев и обходится примерно в 90 000 рублей.
Перейти в Яндекс.Практикум
Skillbox
Стоимость: Зависит от выбранного курса
Прогрессивная школа с профессиональными преподавателями, ведущими каждого ученика с нуля до трудоустройства. Skillbox ставит своей задачей не просто дать людям навыки, но и предоставить возможность использовать их. Своего рода перевалочный пункт для тех, кто решил сменить/начать новую карьеру.
Учат и дизайну, и управлению, и шитью. Но еще хорошо обучают программированию и работе с данными.
Также в Skillbox можно получить полноценное высшее образование (магистерский диплом государственного образца). Это возможно благодаря сотрудничеству школы с ведущими вузами России.
Перейти в Skillbox
Автоматизированные системы обучения программированию
Не всем подходят занятия в формате вебинаров или постоянного взаимодействия с преподавателями/другими студентами. Иногда хочется просто с чего-то начать, чтобы познакомиться с азами программирования без «нагрузки» в виде сторонних наблюдателей.
Если вы не любите, когда кто-то стоит над душой, то лучше воспользоваться автоматизированной системой обучения.
Это заранее заготовленные курсы с определенным списком заданий, тестов, механизмов проверки и т.п. Взаимодействовать придется только с роботом, которого для вас заботливо до этого написали другие программисты.
HTML Academy
Стоимость: 350 рублей в месяц
Первый кандидат на звание лучшего сайта для изучения программирования. Сайт HTML Academy известен своими полномасштабными курсами по работе с фреймворками.
В HTML Academy обучают только одному направлению – фронтенду. Разработчики решили специализироваться только на нем, чтобы не распыляться и дать пользователям действительно важные навыки в конкретной профессии.
В ходе обучения студенты могут ознакомиться с семантической HTML-версткой, базовой функциональностью CSS, принципом работы препроцессоров LESS и SASS, а также алгоритмами JavaScript и структурой Document Object Model. Этих знаний достаточно, чтобы начать верстать несложные одностраничные лендинги с базовой логикой (переключателями, формами, анимациями).
Кстати, учить вас будет кот, что делает HTML Academy еще более привлекательным сервисом.
Перейти в HTML Academy
Code Academy
Стоимость: 1488 рублей в месяц
Один из лучших сайтов для изучения программирования и одна из самых старых и продвинутых школ для решения этой задачи.
Разработчики называют этот проект лучшим в своем роде, и многие с ними согласны. Здесь в автоматическом режиме происходит обучение сразу нескольким популярным технологиям и языкам:
JavaScript,
Python,
React Native,
HTML5,
CSS3,
C++.
По ходу занятий пользователь школы будет писать реальный код, применимый на практике. Каждое выполненное задание будет проверяться роботом. Причем независимо от того, нужна проверка алгоритма или проверка корректности верстки.
Одна из фишек сервиса – система тестирования, помогающая перед началом учебы выбрать наиболее подходящее направление.
По итогам обучения создатели платформы обещают помочь каждому выпускнику с трудоустройством.
Перейти в CodeAcademy
SoloLearn
Стоимость: 549 рублей в месяц
По мнению миллионов учеников со всего мира, SoloLearn – лучший сайт для изучения программирования. Это довольно старая платформа, обучающая людей таким дисциплинами, как Python, C++, Java, C#, PHP, React + Redux, Angular, Kotlin, jQuery и т.п.
В SoloLearn учатся более 42 млн пользователей. Занимаются по 2183 уроками и решают 15,666 доступных задач.
Обучение проходит в веб-формате, все упражнения доступны в любой момент. Нет какого-то четкого расписания и так далее.
Перейти в SoloLearn
TreeHouse
Стоимость: 2232 рублей в месяц
Еще одна популярная система полуавтоматизированного обучения. От конкурентов ее отличает строгое деление уроков на небольшие категории. Они называются «путями». Каждый «путь» включает в себя небольшой список навыков, требующихся для решения конкретных задач.
В TreeHouse всегда доступны актуальные знания и наиболее современные аспекты языков программирования. В ходе обучения можно взаимодействовать с другими студентами, как это происходит на полноценных курсах. Сам сервис время от времени предоставляет бесплатные ресурсы для самообразования.
Выпускники TreeHouse после обучения устраиваются в Nike, Adobe, Airbnb и прочие популярные компании.
Перейти в TreeHouse
Тренажеры
Тренажеры созданы не для обучения, а для отработки уже существующих навыков. Подразумевается, что вы умеете строить алгоритмы разной сложности и готовы применить свои знания на практике, решая задачи, распределенные по рангам (в зависимости от навыков студента).
Codewars
Стоимость: Бесплатно
Пожалуй, лучший сервис для тренировки навыков в области программирования и разработки алгоритмов. Codewars используется для обучения на множестве курсов и практикумов для отработки навыков.
Задачи в Codewars создаются не администрацией сайта, а другими программистами-энтузиастами. Более квалифицированные разработчики еще и проверяют эти задачи, чтобы они были корректно составлены и не повторялись.
По степени сложности они делятся на 8 рангов. Студент начинает с восьмого и постепенно движется к первому, где его ждут сложнейшие алгоритмы и механизмы взаимодействия с языками, доступные только специалистам.
Перейти в Codewars
Edabit
Стоимость: Бесплатно
Примерно то же, что и Codewars, но немного хуже. Менее удобный интерфейс, меньше доступных языков для тренировки навыков, но есть вероятность наткнуться на задачи, которых нет в Codewars. Поэтому есть смысл пользоваться сразу двумя площадками.
Каждое задание в Edabit оснащено дополнительной справкой и ссылкой на необходимую документацию, поэтому в каком-то смысле сервис можно использовать для самообразования.
Степень сложности и полезности отдельных задач определяется через опросы, которые каждый пользователь проходит, завершив урок. Так что в проверке участвуют не только профессиональные разработчики, но и студенты.
Перейти в Edabit
Exercism
Стоимость: Бесплатно
Не путать с экзорцизмом. Эта площадка похожа на две предыдущие, но устроена несколько сложнее. Здесь также есть куча заданий для отработки навыков в создании алгоритмов и функций для различных языков программирования, но есть два важных отличия.
Во-первых, здесь есть весьма специфичные языки. Не все из них удастся найти в Codewars и уж тем более в Edabit. При желании можно потренироваться в работе с ассемблером и базовым языком для проектирования систем на базе машинного обучения.
Во-вторых, для взаимодействия с площадкой и проверки большинства заданий придется скачать модуль для командной строки и завести специальную директорию для отправки решенных задач на проверку. Обойтись только браузером не получится.
Перейти в Exercism
Бонус (онлайн IDE)
По ходу обучения вам часто придется тестировать свой код. Да, у вас для этого будет IDE, командная строка, текстовый редактор и тому подобное, но иногда для быстрой проверки функции или алгоритма лучше воспользоваться онлайн-IDE. Они проверяют код в реальном времени и позволяют опробовать новую идею, не загромождая код основного приложения.
PythonTutor
Стоимость: Бесплатно
Отличный сервис для тестирования кода на языках программирования Python, C, C++, Ruby и JavaScript. Tutor обрабатывает команды пользователя в реальном времени. Каждое изменение в код тут же сказывается на результате выполнения программы.
У сервиса есть определенные ограничения. Например, он не может обрабатывать больше 1000 шагов выполнения функции. Поэтому построить в PythonTutor полномасштабное ПО не получится.
Перейти в PythonTutor
Plnkr.co
Лучший сайт для изучения программирования на практике. Это почти полноценная IDE, в которой можно опробовать свой код и даже подключить автоматические тесты.
Plnkr.co отлично подходит для проверки сложных функций, а также совместной работы над кодом с другими пользователями.
Вместо заключения
На этом все. Выбирайте наиболее подходящий способ обучения и дерзайте. Программирование – это сложно, но, как и любое действо, не невозможно. Главное, не бросать это занятие и постоянно пополнять голову новыми знаниями.