Предки современных языков программирования — дырки на перфокартах, бинарный код. Задачи для огромных вычислительных машин размером с квартиру поручались только инженерам. У далеких от отрасли людей сформировался образ, что программист — дипломированный гуру точных наук, который прочитал кучу многостраничных трудов по теории мехмата. У близких к отрасли людей представления более реалистичные, но всё равно есть иллюзорный барьер высокого технического порога входа.
В реальности дела обстоят иначе — синтаксис большинства языков программирования доступен для понимания людей без предварительной подготовки. Всё, что нужно сделать — научиться понимать логику, выучить команды и уметь пользоваться инструментами. Это не тривиальная задачка, но красный диплом матфака не нужен точно.
Чтобы окончательно убрать все преграды к дивному миру разработки, пройдёмся по самым популярным мифам.
Миф 1: языки программирования непонятные
Языки программирования настолько же непонятные, насколько непонятен английский для человека, который никогда его не учил.
Вернемся опять в прошлое: изначально программирование и вычислительные машины не разрабатывались для массового пользования. Вся работа выполнялась на бинарном уровне — наборе нулей и единиц. В перфокартах делали отверстия, каждое из которых означало единицу. Последовательность из этих двух цифр позволяла считать простейшие формулы. Нужды упрощать процедуру не было, все равно кругом сплошь доктора наук, они быстрее в логике разбирутся.
Однако учёные стремятся к большим возможностям и, что тоже важно, удобным инструментам. Над бинарным кодом начали появляться надстройки — фактически, их задача стояла в переводе команд, написанных простыми словами из английского языка в формат нулей и единиц. Теперь появилось несколько слоёв: язык высокого уровня, команды которого интерпретируются в двоичный код, и язык низкого уровня — уровень взаимодействия напрямую с вычислительным ядром.
Но эти языки тоже были далеки от обычной лексики. И над ними тоже начали появляться надстройки — ещё более простые и понятные. Потом ещё надстройки. Здесь есть и обратная сторона — каждый новый уровень сужал возможности программиста. Так мы подошли к новому времени.
К примеру, Ruby — с помощью него нельзя построить систему управления ядерным реактором, но к написанию веб-приложений можно прийти за 40-50 недель самостоятельного обучения с книжкой, или за 16 вместе с преподавателем.
Миф 2: программировать скучно
Есть два типа людей: которые создают что-то, и те, кто работает на первых. Созидателям интересно писать картины, собирать мотоциклы и писать код.
Кисть, гаечный ключ, код — это инструменты. Всеми нужно учиться пользоваться, все позволяют делать что-нибудь крутое. Разница только в том, что программисты, даже начального уровня, сегодня востребованы. Более того, они будут оставаться востребованными и завтра, и послезавтра. Спасибо интернету.
Миф 3: учиться нужно очень долго
Ранее было сказано, что достаточно 16 недель с преподавателем, чтобы выучить Ruby. Это не означает, что через 19 недель будет некуда расти. Учиться нужно будет всегда. Чем больше программист знает и умеет, тем он дороже.
Так что это не миф, а реальность, но смотреть на неё стоит под другим углом — в мире разработки, всегда будут новые задачи и вызовы. Стоит того, чтобы войти в эту среду.
А ещё мы взяли комментарий у Алексея Поимцева — ведущего разработчика и генерального директора в студии Progress Engine, а также преподавателя курса:
За последние 20 лет порог входа в мир программирования сильно снизился. Разумеется остались задачи, которые требуют фундаментального уровня подготовки — высоконагруженные системы, разработка программного обеспечения для аппаратных комплексов и т.д. Однако разработать приложение для айфона или интернет-сервис — это может сделать даже ребёнок. Это про сложность.
Что касается рутины, конечно она присутствует, как и везде — футболисты, танцоры, художники, актёры — все они временами уходят в оттачивание и полировку навыков.
В целом, всё зависит от уровня желания — если хочется влиться в мир технологий, нести человечеству прогресс и жить в мире будущего, то всё подвластно.
Алексей Поимцев,
Progress Engine
***
Вопросы, которые мы будем разбирать в следующих материалах — какие языки учить новичку, какие есть способы стать разработчиком и как общаться с сообществом, чтобы не получить леща.
Комментарии