Кодинг стал частью поп-культуры (а программирование – нет)

Михаил Иванов

Автор Rusbase

Расскажите друзьям
Михаил Иванов
Михаил Иванов

Атилла Ваго (Attila Vágó), веб-разработчик, инженер по материалам и контенту eLearning, рассказал Hackernoon, чем отличается кодинг от программирования и почему он становится все более популярным.

Кодинг стал частью поп-культуры. А программирование — нет.

И я объясню, почему.

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

Nerdy Coder

Кем я не хотел стать.

Перенесемся на шесть лет вперед: я сижу в аэропорту Будапешта и читаю книгу о HTML…

Спустя еще шесть лет меня взяли в североирландскую стартап-компанию в качестве широкопрофильщика. Да, похоже, на это ушло определенное время. Но сколько именно? Не могу сказать точно. Но много. Мифические 10 тысяч часов? Нет. Если бы меня попросили назвать приблизительную цифру, то я бы сказал, что к тому дню я «накодировал» около 8 тысяч часов. Технически говоря, если верить правилу 10 тысяч часов, то через 2 тысячи я стал бы экспертом в этой области.

Но стану ли?

Вот, чего мне удалось достичь за 8 тысяч часов. Усаживайтесь поудобнее, так как мой рассказ будет долгим. Я кодил на следующих языках: C, HTML, CSS, JavaScript, Java (Android), Swift, PHP, Ruby, Python, Chuck, SQL, работал со следующими фреймворками: Node, Angular, Bootstrap, Foundation, React, Rails, CodeIgniter, Ionic и создавал целевые страницы, сайты вордпресс, решения по электронной коммерции, контент электронной среды обучения (eLearning), сайты Moodle и Totara, сайты Mahara, пакеты Common Cartridge и SCORM, программы для Android и iOS, гибридные программы, внутренние веб-приложения, электронные книги, журналы, игры, а также дополнительные приложения для настольных игр. Итак, к чему я веду?

Я хочу сказать, что области как таковой нет, поэтому задача стать в ней экспертом является недостижимой. Кодинг — не область. Информатика — да, но это совершенно другое.

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

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

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

Источник: LifeHacker

Давайте разберемся. Принятый за «факт» миф о том, что любой может освоить один из языков программирования всего за несколько часов, лишь верен до определенного момента, и этот момент настает на ранней стадии обучения. Действительно, язык программирования можно выучить за один день. Вообще, если вы поставили себе цель стать полиглотом в программировании за месяц, при этом имея работу, можно освоить 8-10 языков, если учиться по выходным. Но вот где загвоздка. Каждый язык программирования имеет свои библиотеки, а также синтаксические особенности, и все это нельзя выучить легко или быстро или за выходные. Собственно, в реальном мире язык программирования будет далеко не главной проблемой.

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

То, что вы выучили язык, вовсе не означает, что вы знаете, как написать программу. Добавим к этому мириады фреймворков, плагинов, библиотек, препроцессоров, постпроцессоров, стандарты кодирования, отраслевые стандарты, разработку через тестирование (TDD), разработку через реализацию поведения (BDD), системы управления контентом, версификацию файлов, непрерывную интеграцию (CI), управление релизами и развёртыванием, отладку, тикетинг, каскадные модели, agile- и scrum-методы, а также их комбинации, и я не уверен, что еще все назвал. Суть в том, что понятие «кодер» охватывает примерно все упомянутое выше. Программирование же затрагивает лишь небольшую часть. Важную, но все же небольшую.

Тем не менее, программирование продолжают упрощать...

Apple запустила Playgrounds, MIT — Scratch, а Lego готовит Boost, и все пытаются продать кодинг молодому и подрастающему поколению, будто хотят заполнить рабочие места новых программистов в 2020-х.

Я это вижу следующим образом: «Не беспокойтесь о коде, возьмите эти виртуальные части пазла и все, вы можете программировать». Если бы такое было правдой. Вот, что нужно знать о программировании: оно основано на тексте. Всегда было и будет на много лет вперед. Дети, играющие в Lego Boost, Playgrounds или Scratch, не станут более опытными программистами к 22 годам, чем те, которые начали изучать программирование с 16 и работали с настоящим языком программирования. Собственно, откуда вообще такие ожидания? Я не думаю, что мой ребенок научится сам зарабатывать на хлеб до 22 лет. А вот если он будет изучать кодинг в течение 6 лет, то я гарантирую, что он быстро найдет работу.

Playgrounds от Apple. Источник: DigitalTrends

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

Дети по умолчанию имеют склонность к логике. Собственно, благодаря ей они познают мир.

Они узнают ценность фразы «что-если» с первого дня рождения. «Если я заплачу, то мама все исправит, иначе я продолжу плакать, пока не придет отец (а он, скорее всего, сделает только хуже, но я все равно рискну)». Дети очень логичны, отсюда их нередко жестокая прямота. Вы называете это невинностью, а они — миром, поделенным на черное и белое. У них пока нет множественного выбора. Нет оттенков серого. Все это появится позже в буквальном и литературном смысле (как минимум, в трех томах). В общем, они более чем способны думать логично, но посадите их перед телевизором или позвольте им пользоваться планшетом по 6 часов в день, и все это превратится в кучу искаженных ценностей, так как такие активности обычно не требуют напряженных размышлений.

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

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

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

Только то, что кодинг звучит круто, вовсе не означает, что он не является старым добрым «хардкорным» программированием. Если уж на то пошло, то сейчас это более правдиво, чем 15 лет назад. Только сейчас мы носим обтягивающие джинсы, тонкие ноутбуки, вылезли из подвалов и даже можем найти красивых девушек.

 

P.S. Но кое-что не изменилось. Уродские очки остались. Но сейчас они в моде, так что это даже хорошо. ;)

Источник


Материалы по теме: 

Ковбой-кодер, дизайнер или аналитик: с кем дружить в разработке

Google создал курс Android-программирования для начинающих

Так живут сообщества женщин-разработчиков

Полезная инструкция: как выбрать технологию для веб-проекта

Пожалуйста, не учитесь программированию

Какой язык программирования учить первым (если вы в России)?



Комментарии

Комментарии могут оставлять только авторизованные пользователи.
IT Synergy
23 ноября 2017
Ещё события


Telegram канал @rusbase