Сегодня существует множество возможностей научиться программировать. Но нужно ли всем уметь программировать? В этой статье мы постарались обобщить основные положения противников подобного подхода.



Книги, онлайн-курсы, оффлайн-интенсивы. Scratch и Hello Ruby для детей, Moscow Coding School и Code Babes для взрослых, акции Hour of Code, Year of Code, государственные образовательные программы США и Великобритании – все направлено на то, чтобы каждый мог попробовать себя в кодинге. Но нужно ли всем уметь программировать? В этой статье мы постарались обобщить основные положения противников подобного подхода.

Программирование сложный процесс.
Одним из самых популярных слоганов является: Programming is easy. Но все совсем наоборот: нет универсальной базы, стэка технологий, который можно было бы применить в различных проектах; придется постоянно учиться, читать сотни страниц документаций и решать неинтересные проблемы, которые подкинули вам коллеги (или вы сами год назад). Знание языка программирования не делает из человека разработчика, необходимо хотя бы базовое понимание алгоритмов, математики и смежных технологий. Получается, что программирование – рядовая работа, требующая постоянного самосовершенствования как специалиста, чтобы оставаться востребованным на рынке труда. Просто современная культура придала этому роду деятельности легкий налет халявы, когда ты после нескольких часов щёлканья клавиш в шикарном офисе идешь поиграть в настольный теннис с коллегами, а потом садишься в Tesla и уезжаешь домой.

Каждому может нравиться программирование, но далеко не каждый его полюбит.
Есть в программировании множество прекрасных вещей, доступных всем: волнение при создании нового проекта; чувство власти над машиной, когда она в точности исполняет команды; радость победы после долгого перебора множества вариантов решения, прочтения нескольких топиков на stackoverflow и гнева на все сущее. Но далеко не каждый испытает настоящее увлечение программированием, не бросит это занятие, после того, как пример, дословно переписанный из книги, не заработает. Программирование должно стать таким занятием, о котором вы думаете в душе (формулировка Пола Грэма). Если вы профессиональный дизайнер, художник, фотограф, ищите разработчика, чтобы реализовать идею собственного приложения/сервиса, вы неоднократно услышите нечто подобное: «Да научись программировать сам, сейчас столько всего, а ты все ленишься». Но каждый час, потраченный на обучение и непосредственно кодинг – это час, не проведенный за любимым делом, не сделанная фотография, не нарисованная работа. Мы превозносим программирование не из-за написания кода, а из-за того, чего мы можем достичь с помощью него.

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

Дискредитация образовательных программ.
Если начать интересоваться различными программами, обучающими программированию, то можно открыть для себя множество интересных вещей. Так, старая программа школьного курса по программированию в Великобритании предусматривала создание сайта. В PowerPoint. Или Лотти Декстер, директор программы Year of Code, в одном из интервью призналась, что несмотря на то, что научиться программированию легко и просто, сайт можно создать за час, а изучить основы программирования за день, она так и не начала учиться программированию самостоятельно. Более того, только три человека из совета Year of Code являлись программистами с техническим бэкграундом и все трое работали в одной компании. Проблема подобных программ в том, что они не успевают меняться с той же скоростью, с которой развиваются технологии.

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

Комментарии (27)


  1. dyadyaSerezha
    29.06.2015 16:08
    +5

    «Но нужно ли всем уметь программировать?» — вопрос высосан из пальца автора, так как ни один из перечисленных курсов, школ, книг и прочего не ставит себе такой задачи.

    Аналогично можно написать такие же «умные» статьи на темы:

    — «Но нужно ли всем уметь танцевать балет?»
    — «Но нужно ли всем уметь играть на скрипке?»
    — «Но нужно ли всем уметь делать 118 видов коктейлей?»
    и т.д. до бесконечности.


    1. vlreshet
      29.06.2015 16:21

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


      1. DenimTornado
        29.06.2015 17:19

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


      1. agent10
        29.06.2015 17:21

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


      1. dyadyaSerezha
        29.06.2015 17:30
        +1

        Тогда по вашей логике надо было сначала написать огромную статью на тему «почему не надо увеличивать свой член» — ведь это один из самых навязчивых спамов. :)

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


        1. PETROPALOVSK Автор
          29.06.2015 17:35

          Не стоит все возводить в абсолют. Не имелось ввиду, что у вас баннеры на каждом сайте выскакивают с предложениями по обучению (хотя ШП так делали), но определенное давление все же есть. Обама со своим минутным роликом о важности программирования, множество некоммерческих организаций, дающих доступ к информационным технологиям самым бедным социальным слоям, проекты на Kickstarter (роботы, настольные игры, книги) и т.д.


          1. dyadyaSerezha
            29.06.2015 17:45

            Ну и при чем тут речь Обама и «каждый программист»? А если Обама скажет, что в стране нехватка врачей, то это значит, что народ подумает, что каждый должен становиться врачом и надо срочно писать статью «почему не надо учиться лечить людей?» По-моему, смахивает на бред. То есть, в статье решается проблема, которой нет. А уж при чем тут Кикстартер, вообще не понял.

            P.S. Кстати, во второй половине 90-х в США и Канаде прграммистов отрывали с руками. Были повсеместные курсы «стань профессиональным программистом на 3 месяца». И что интересно, ведь многие позаканчивали и таки устроились на работу! А вы говорите ;)


            1. PETROPALOVSK Автор
              29.06.2015 17:54

              Была неоднократно высказана мысль разными людьми/организациями, что без знания основ программирования будет невозможно существование в современном мире.
              Забавно, что на Spark меня убеждали, что программирование необходимо всем и статья только демотивирует лентяев, а тут убеждают, что такой проблемы вообще нет.


              1. dyadyaSerezha
                29.06.2015 18:08
                +1

                Есть много людей/организаций, которые высказывают очень сомнительные мысли — это если мягко выражаться. И какое счастье, что я не знаю, что такое этот Спарк. :)


                1. PASAf
                  04.07.2015 02:43

                  Справедливости ради, если без преувеличений, то в книге Бьёрна Страуструпа «Программирование. Принципы и практика использования C++», практически вся первая глава посвящена именно убеждению читателя в том, что программирование будет полезно всем.

                  Вот цитата:

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

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

                  Я считаю подобные призывы на самом деле лишними, потому что если человек действительно хочет изучить программирование, его не нужно убеждать в этом. А если нужно, то этому человеку стоит задуматься, а действительно ли он хочет научиться, или просто повелся на рекламу (или из-за навязанных стереотипов, что это модно, престижно)?


    1. nicelight_nsk
      03.07.2015 06:01

      Может, автор опирается на изначальную идею семейства хабрасайтов, это движение вдоль IT технологий. И если ты в этой лодке, так или иначе приходится сталкиваться с программированием ( мне, допустим, постоянно) но не у всех есть желание кодить, идя по этому пути. Как инженер, связанный с IT, для себя статью нахожу слегка полезной. )
      Добавлено: Конечно, много воды и было бы здорово поглубже рассмотреть варианты саморазвития в IT области, минуя непосредственный кодинг и оставаясь на волне.


  1. MAXH0
    29.06.2015 18:02

    Замените «программирование» на «математику» и получите то же самое:
    1. Математика сложная
    2. Не каждый любит математику
    3. Если вы художник — зачем вам математика
    4.… ну тут вообще все плохо

    По вашей логике и математику учить не надо


    1. PETROPALOVSK Автор
      29.06.2015 18:10

      Замените математику медициной:
      1. Сложная
      2. Не все полюбят учить названия костей мозга на латинском
      3. Если вы кинокритик зачем вам медицина
      4. Все еще хуже

      Но математике учат каждого, а медицине нет.

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


      1. MAXH0
        29.06.2015 19:10

        Я как раз про то же — ваша аргументация не доказывает выдвинутый тезис.
        Тезис вы доказываете другими косвенными посылами.
        Тогда зачем ваши 4 пункта?

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


      1. fshp
        30.06.2015 06:07
        +2

        Основа медицины — биология и химия. Их учат все.
        Основы математики так же учат все.


    1. Mixim333
      30.06.2015 20:20

      С третьим пунктом:

      3. Если вы художник — зачем вам математика

      поспорил бы: как-то читал, что многие Великие картины используют пропорции Золотого сечения, а это уже математика.

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


  1. Terras
    29.06.2015 18:27
    +2

    Есть один очень классный способ, который я практикую, когда меня спрашивают: «А сложно ли программировать».

    Я даю человеку книгу: «марк лутц изучаем python» — это книжка в 1280 страниц, которая «грузит» человека огромным объемом информации. 9 из 10 заканчивают её читать странице на 200-300 и забивают на идею стать программистом. Последний 10 же после прочтения сам уже продолжает обучение и получает неплохие навыки.

    Ничего не сложно, если уделить этому время, много времени.


    1. PETROPALOVSK Автор
      29.06.2015 18:33

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


      1. Terras
        29.06.2015 18:35
        +3

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


    1. Gorthauer87
      30.06.2015 12:46
      +1

      Я программист, но ни одну книгу о программировании толще 200 страниц не прочитал полностью. Такие талмуды я, скорее как справочники использую по мере надобности.


  1. PapaBubaDiop
    30.06.2015 11:38

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


    1. Aquahawk
      02.07.2015 12:29

      Если не передерутся:)


    1. KvanTTT
      02.07.2015 18:18

      Поэтому теоретико-практики очень ценятся :)


  1. Gorthauer87
    30.06.2015 12:45

    Если следовать пункту один, то, по крайней мере, мозги не высохнут раньше времени.


  1. Dovgaluk
    02.07.2015 14:43
    +1

    Программирование — вторая грамотность


    1. PETROPALOVSK Автор
      02.07.2015 14:46

      У нас на лэндинге это написано. Приятно, что не только мы так считаем.


  1. AlexHa
    02.07.2015 20:07

    Я не программист, имею иную техническую специальность, но программирую много лет, с 80-х, любитель. Программирование это способ общения с машиной, возможность ей приказать «сделай это» и «сделай то». Есть много языков для этого, хотя, в принципе, достаточно одного. Это интересно, иметь возможность, например, написать программу на Техтране для (советского :) обрабатывающего центра, чтобы он вам выпилил что-нибудь полезное, хоть вы и не оператор станков с ЧПУ. Интересно написать программу на Фортране с использованием библиотек, разработанных лучшими математиками планеты, дабы машина решила вам сложную научную задачу, хоть вы и не настолько учёный. Интересно наваять что-нибудь на С, и запустить в бортовую CAN-шину, чтобы авто не ехало, а скакало галопом :) Ну а уж про подглядывание в пубертатном возрасте через веб-камеру за соседкой вообще и речь не идёт :) Программирование — это интересно, полезно и очень применяемо, даже интереснее и полезнее, чем знание английского, например. Умение общаться с машинами, которые сейчас везде.