Научиться программировать самостоятельно сегодня можно самыми разными способами, причем это доступно всем желающим вне зависимости от исходного уровня знаний в данной области. Вот только прежде чем приступать к обучению, новички должны обязательно понять, зачем и чему именно они хотят научиться. Потому что программирование программированию — рознь.
Дело в том, что в настоящее время в мире существует огромное множество языков программирования, каждый из которых имеет свои особенности и свою специфику применения. В связи с этим языки программирования сегодня делятся на множество разных категорий, среди которых можно назвать, к примеру, функциональные, процедурные, объектно-ориентированные, скриптовые, динамические категории.
Языки программирования делятся еще на различные группы в зависимости от области их применения. К примеру, для создания прикладного программного обеспечения используются одни языки программирования, а для создания различных сайтов и веб-приложений — уже совершенно другие. Соответственно, прежде чем начинать свое обучение программированию, начинающим важно решить, в какой именно области они бы хотели реализовать себя.
Существующие на сегодняшний обучающие программированию онлайн-сервисы посвящены обычно либо отдельным областям использования тех или иных языков программирования, либо же конкретным языкам и наборам языков. Подобные сервисы бывают как платными, так и бесплатными, они могут научить базовым принципам работы с теми или иными языками или же могут научить создавать конкретные программные продукты. С некоторыми наиболее популярными обучающими сервисами для программистов предлагаем познакомиться поближе далее.
Codecademy
Данный ресурс позволяет изучать программирование «с нуля» бесплатно, посвящен он языкам и технологиям, используемым в веб-разработке. Сразу же после простой и быстрой регистрации новый пользователь сервиса получает возможность выбрать один из нескольких обучающих курсов по развитию навыков в сфере разработки сайтов и веб-приложений.
К примеру, желающие узнать, как создать простой веб-сайт, могут выбрать курс Make a Website. В интерактивном режиме пользователи изучают основы HTML и CSS, выполняя предложенные задания и получая результаты прямо в окне сервиса. Для перехода от урока к уроку пользователям обязательно необходимо выполнять все задания.
Языки программирования и технологии, с которыми учит работать Codecademy, – популярная «связка» HTML & CSS, JavaScript, jQuery, PHP, Python, Ruby, SQL. Сервис Codecademy доступен на английском, французском, испанском и португальском языках. Русский язык не поддерживается.
Treehouse
Обучающий сервис Treehouse платный, бесплатно можно попробовать лишь его семидневную trial-версию. В этом сервисе научиться программировать «с нуля» можно при помощи обучающих видео и специальных практических заданий, интерактивных викторин. Пользователи сервиса по завершении того или иного выбранного обучающего курса в Treehouse получают небольшой готовый проект.
Treehouse отличается качественной подачей учебного материала, наличием хорошего пользовательского форума, где можно получить советы и помощь от экспертов. В сервисе к изучению предлагаются HTML, CSS, Java, PHP, Python, Ruby, C#. Также в этом сервисе можно изучить основы работы с конкретными CMS, научиться работать с базами данных, научиться создавать приложения для iOS и Android и даже научиться разрабатывать игры. Кроме того, отдельные курсы Treehouse посвящены основам веб-дизайна, IT-грамотности, ведения бизнеса в сфере IT.
Code School
Данный обучающий программированию онлайн-сервис имеет как платные, так и бесплатные уроки и курсы. Изюминка Code School — в геймификации процесса обучения, т. е. пользователи курсов по программированию здесь не просто смотрят обучающие видео и читают лекции, а зарабатывают очки и получают достижения, что является неплохим стимулятором к продолжению обучения.
В Code School есть как базовые уроки по разным языкам программирования, так и «продвинутые» – для тех, кто уже успел изучить основы. Задания в уроках Code School обычно представляют собой не просто абстрактные наборы команд, а интересные и занимательные задачи, как, например, написание игр про зомби в курсе Rails for Zombies.
Все курсы Code School собраны в специальные «Пути» (Paths), такие как HTML/CSS, Ruby, iOS, Database, JavaScript, Python, Git и др. В каждом из «Путей» пользователей ждут пошаговые уроки по выбранной технологии, видеоуроки, задания и т. д.