Предки современных языков программирования — дырки на перфокартах, бинарный код. Задачи для огромных вычислительных машин размером с квартиру поручались только инженерам. У далеких от отрасли людей сформировался образ, что программист — дипломированный гуру точных наук, который прочитал кучу многостраничных трудов по теории мехмата. У близких к отрасли людей представления более реалистичные, но всё равно есть иллюзорный барьер высокого технического порога входа.

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

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

Миф 1: языки программирования непонятные

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

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

Однако учёные стремятся к большим возможностям и, что тоже важно, удобным инструментам. Над бинарным кодом начали появляться надстройки — фактически, их задача стояла в переводе команд, написанных простыми словами из английского языка в формат нулей и единиц. Теперь появилось несколько слоёв: язык высокого уровня, команды которого интерпретируются в двоичный код, и язык низкого уровня — уровень взаимодействия напрямую с вычислительным ядром.

Но эти языки тоже были далеки от обычной лексики. И над ними тоже начали появляться надстройки — ещё более простые и понятные. Потом ещё надстройки. Здесь есть и обратная сторона — каждый новый уровень сужал возможности программиста.  Так мы подошли к новому времени.

К примеру, Ruby — с помощью него нельзя построить систему управления ядерным реактором, но к написанию веб-приложений можно прийти за 40-50 недель самостоятельного обучения с книжкой, или за 16 вместе с преподавателем.

Миф 2: программировать скучно

Есть два типа людей: которые создают что-то, и те, кто работает на первых. Созидателям интересно писать картины, собирать мотоциклы и писать код.

Кисть, гаечный ключ, код — это инструменты. Всеми нужно учиться пользоваться, все позволяют делать что-нибудь крутое. Разница только в том, что программисты, даже начального уровня, сегодня востребованы. Более того, они будут оставаться востребованными и завтра, и послезавтра. Спасибо интернету.

Миф 3: учиться нужно очень долго

Ранее было сказано, что достаточно 16 недель с преподавателем, чтобы выучить Ruby. Это не означает, что через 19 недель будет некуда расти. Учиться нужно будет всегда. Чем больше программист знает и умеет, тем он дороже.

Так что это не миф, а реальность, но смотреть на неё стоит под другим углом — в мире разработки, всегда будут новые задачи и вызовы. Стоит того, чтобы войти в эту среду.

 

А ещё мы взяли комментарий у Алексея Поимцева — ведущего разработчика и генерального директора в студии Progress Engine, а также преподавателя курса:

За последние 20 лет порог входа в мир программирования сильно снизился. Разумеется остались задачи, которые требуют фундаментального уровня подготовки — высоконагруженные системы, разработка программного обеспечения для аппаратных комплексов и т.д. Однако разработать приложение для айфона или интернет-сервис — это может сделать даже ребёнок. Это про сложность.

Что касается рутины, конечно она присутствует, как и везде — футболисты, танцоры, художники, актёры — все они временами уходят в оттачивание и полировку навыков.

В целом, всё зависит от уровня желания — если хочется влиться в мир технологий, нести человечеству прогресс и жить в мире будущего, то всё подвластно.

Алексей Поимцев,
Progress Engine

***

Вопросы, которые мы будем разбирать в следующих материалах — какие языки учить новичку, какие есть способы стать разработчиком и как общаться с сообществом, чтобы не получить леща.

Глеб Маркин,

Автор #tceh