Программирование стало мейнстримом, модным трендом мирового масштаба. И стар, и млад открывают для себя этот удивительный мир. В США дошло до того, что сам президент говорит всей стране о пользе изучения программирования.

Интернет открывает каждому множество путей познания искусства программирования, начиная с бесплатной Codeacademy, и заканчивая дорогими многотысячными курсами, вроде Devbootcamp, обещающими превратить чайника в матёрого программера за 9 недель.

Нужно ли изучать программирование конкретно мне?

Мы в Лайфхакере считаем, что, в любом случае, ответ «да». Даже если дело не зайдёт далеко и останется лишь своего рода хобби в свободное время, программирование всё равно заставляет работать наши мозги, а это всегда хорошо.

Если смотреть на сферу бизнеса, то навыки программирования пригодятся всем, чья деятельность связана с технологиями.

Грег Поллак, основатель обучающего сервиса Code School, говорит так:

Любой, кто по формату своей работы вынужден общаться с разработчиками, должен знать основы программирования.

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

А не староват ли я для этого?

На этот вопрос мы уже отвечали отдельной статьёй. Учиться никогда не поздно, возраст здесь не имеет значения. А быть может, вы уже умеете программировать?

С чего начать

Учите английский. Серьёзно. Ниже по тексту статьи вы поймёте, почему для успешного освоения профессии программиста вам понадобится инглиш. Что-то русифицируется, что-то адаптируют энтузиасты, но факт остаётся фактом — английский знать надо.

Если на данный момент вам интересна сама концепция программирования, то начинать можно с чего угодно. Вы поиграетесь с разными языками и средами, найдёте что-то, что вам больше по душе, ну а дальше как пойдёт. Впрочем, многие цели идут намного дальше абстрактного «хочу уметь программировать». У них есть конкретная цель. Например, написать своё мобильное приложение. И тут уже нужны вполне определённые правильные инструменты разработки.

Я ничего не знаю

В случае, когда опыта нет вообще, то лучше начинать с чего-то более простого для понимания. Хорошими примерами могут быть основы HTML и CSS.

HTML не является языком программирования — это язык разметки. Благодаря нему вы сможете представлять слова, картинки, ссылки и видео в формате, понятном браузеру. С этого начинаются простые любительские сайты и блоги. CSS отвечает за шрифты, их размер, размещение элементов и другие дизайнерские составляющие представления веб-страниц.

На самом деле, с большой вероятностью, вы уже имели дело с HTML, просто не знали этого. Если у вас есть или был блог, то вы гарантированно сталкивались с разметкой. Любой вменяемый WYSIWYG редактор представляет содержимое, как в визуальном, так и в текстовом режиме. Стоит посмотреть в текстовый режим представления, и там окажется тот самый HTML. Более глубокое освоение HTML поспособствует выходу за пределы видимых возможностей редактора вашего блога или сайта, позволит сделать страницы вашего уголка в Интернете функциональнее и интереснее. В общем, учить HTML полезно, как ни крути.

Я хочу делать красивые веб-приложения

В этом деле вам понадобится знание JavaScript. Именно он позволяет делать веб-сайты красивее, эффектнее и функциональнее. Существует несколько популярных (и совместимых) сред разработки JavaScript, такие как Ember, Angular и Backbone.

JavaScript живёт уже 20 лет и не собирается никуда уходить. По факту, его доминирование в сфере лишь усиливается. Ввиду своей популярности, JavaScript есть где подучить. К примеру, упоминавшийся выше Поллак называет курсы этого языка самыми популярными на Code School.

Если вы что-то делаете в вебе, то вам необходимо учить JavaScript.

Хочу быстро делать прототипы

Если вы — дизайнер, и вам хочется получить навыки бэкэнд-программирования, чтобы самим тестить приложения, то надо учить Ruby или Python. Оба варианта довольно легки для освоения и открывают путь к одним из наиболее востребованных специальностей 2013 года. Как вы понимаете, их актуальность будет сохраняться и в обозримом будущем.

Ruby отличается развитой экосистемой и одним из самых активных и отзывчивых сообществ. Разработанный в далёком 1995 году, язык начал набирать особую популярность с 2003 года, когда появился фреймворк Rails. Благодаря нему процессы создания сайтов и веб-приложений значительно упростились.

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

Для быстрого старта можно порекомендовать Learn Python The Hard Way, либо раздел Ruby на Code Academy.

Хочу сделать Android-приложение

Разработка Android-приложений, в основном, осуществляется в Java. Прелесть в том, что для работы вам подойдёт и Windows, и OS X. Обе операционные системы дают возможность устанавливать среды разработки для Android. Ещё один плюс — возможность бюджетно тестировать свои приложения, ведь на рынке есть куча дешёвых смартфонов и планшетов на Android.

Ещё один очень важный момент: если буквально пару лет назад ключевой платформой была iOS, то уже сейчас разработчики предпочитают стартовать с Android.

Бесплатный вводный курс программирования на Java можно найти на Udacity. Когда основы изучены, ваш путь ляжет в сторону официального сайта разработчиков под Android. Тут можно научиться тонкостям создания своего первого Android-проекта.

Хочу сделать iOS-приложение

Разработка под iOS куда более требовательна к инструментам. Помимо знания Objective-C, вам потребуется Mac с OS X версии 10.7 или выше, Xcode — бесплатный инструмент для создания приложений, а также комплект средств разработки для iOS.

Начинать свой путь iOS-разработчика стоит с изучения раздела iOS на Code School, а также руководства разработчика от Apple.

Мой ребёнок хочет научиться программировать

Это вполне похвально и очень перспективно. Если дитя совсем ещё мелкое, то попробуйте дать ему Hopscotch — приложение, о котором мы рассказывали в одной из наших статей. Процесс кодинга здесь реализован через игру. С некоторого момента приложение русифицировали, что может сильно помочь чаду в освоении сего инструмента.

Ещё одним прекрасным средством изучения программирования может стать «Скретч». Сервис ориентирован на пользователей от 8 до 16 лет.

Здесь также помогут сервисы наподобие Code.org — их принципы предполагают популяризацию программирования в школах и университетах.

Что ещё почитать

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