Этот манифест Эммануэль Страшнов, со-основатель No-Code-сервиса bubble.io опубликовал еще в 2014 году в Huffington Post. Но до сих пор он читается как текст из будущего. Зерокодинг — не просто новая нефть, это путь развития и освобождения человека.
Почему мы ожидаем, что люди будут говорить, как компьютеры? Разве это не компьютеры должны научиться говорить на нашем языке?
Обучение считается ключом к построению успешной карьеры. Барак Обама, Майкл Блумберг и даже Энрике Иглесиас призывали людей учиться кодить. Но это же противоречит самой сути исторического процесса. Почему мы думаем, что люди должны говорить, как компьютеры? Разве это не компьютеры должны научиться говорить на нашем языке?
В 80-х и 90-х годах инженеры создавали такие продукты, чтобы людям надо было «говорить по-компьютерному». Apple и Microsoft взлетели, сделав компьютеры доступными для всех — с помощью графического, интуитивного и простого пользовательского опыта. Когда они только возникли, людям приходилось изучать командную строку, чтобы использовать компьютеры. Mac II и Windows заменили терминал графическим пользовательским интерфейсом — и это сделало компьютеры доступными не только горстке технарей, но и всем людям — так ПК завоевали мир. И это типичная тенденция в технологиях: с течением времени все становится проще и все больше людей использует эти упрощенные решения.
Программирование еще не пошло по этому пути. BASIC, одному из первых языков программирования исполнилось 50 лет в мае 2013, но языки программирования до сих пор работают на тех же принципах. Сегодня люди точно так же программируют, набирая строго структурированный текст — то есть код — все в том же текстовом редакторе. Получается, мы должны писать так, чтобы компьютеру было легко анализировать программы, а не так, чтобы нам легко было их читать. Конечно, процесса программирования заметно ускорился — и этому способствовали лучшие проекты для обучения (например, Stack Overflow) и совместного использования кода (движение Open Source или FSF). Но несмотря на все эти усилия, мы всё ещё должны учиться на инженера, чтобы создавать программное обеспечение.
Я не могу представить себе людей, которые через 50 лет программируют так же, как мы сейчас. Этого просто не может быть. Будущее, которое я себе представляю, — это мир, в котором программирование не требует сложных объяснений, где люди просто разговаривают с компьютерами и так создают программное обеспечение. Чтобы попасть в этот мир, инструменты программирования должны говорить с нами на одном языке. Нам не надо писать код, чтобы сделать кнопку красной — надо просто показать на нее пальцем и выбрать нужный оттенок. И вместо того чтобы говорить о понятиях, которые волнуют компьютер (например, переменные и серверы), инструменты программирования должны говорить о вещах, которые волнуют программиста (картинка или заказ одежды).
Это может перевернуть нашу жизнь. С помощью доступного каждому программирования фермеры должны иметь возможность самостоятельно запрограммировать роботов для умного ухода за посевами с учётом местной почвы; учителя — создавать программы для корректировки образовательной программы и процесса обучения с учётом вчерашних школьных событий; рестораторы — создавать системы для заказа свежей рыбы с ближайшего рынка в режиме реального времени — в зависимости от полученных заказов.
Но этого так и не произойдет, если фермерам, учителям или рестораторам придется изучать код — то есть заниматься не своим делом. А вот инструменты программирования должны научиться говорить шеф-поваром на языке шеф-повара. Программы должны создаваться пользователями, потому что они знают свои потребности лучше, чем кто-либо другой. Инженер-программист никогда не разберётся в кулинарии так же хорошо, как шеф-повар. А научить простых людей программировать, чтобы превратить их в инженеров, — плохое решение проблемы.
Революция в программировании — это одна из самых удивительных возможностей нашего времени. Нет такой области, где компьютеры еще не оказывали бы сильного влияния — и это только начало. Удивительно, компьютеризация позволяет сделать больше с гораздо меньшими усилиями. Так как же прийти в это прекрасное будущее? Есть два пути. Один из способов — довериться инженерам, чтобы они создавали продукты, которые будут преобразовывать мир. Тогда бы мы — и по факту мы уже начали это делать — превратили инженеров в элитный класс, который управляет миром. Технологические гиганты будут контролировать нашу жизнь. Люди, которые не умеют программировать, в какой-то момент станут лишними. Подумайте о таксистах. Они всё ещё будут нужны, когда беспилотники Google станут мейнстримом? А ведь речь идёт о массе людей: только в Соединенных Штатах 3,5 миллиона водителей грузовиков и 300 000 таксистов. А значит, во всем мире сотни миллионов людей рано или поздно потеряют работу.
Другой путь — наделить способностью творить каждого. И вместо того чтобы быть потребителями технологий, люди сами станут их производить. Это высвободит огромный экономический потенциал: количество людей, способных создавать новые продукты и компании, будет стремительно расти. Такой путь откроет новые рабочие места и возможности для большего числа людей и даст людям возможность самостоятельно решать свои проблемы. Вот почему сделать программирование доступным для всех — это невероятная возможность. Как специалисты по технологиям мы несем ответственность за то, чтобы это произошло как можно скорее. Я надеюсь, что другие присоединятся к нам и мы вместе воплотим эту мечту в реальность.
Пообщаться с фанатами зерокодинга можно в чате Bubble Chat & Community и канале «Зерокодер».
amarao
Вам не нужно будет учиться математике: манифест zeromath от основателя buzz.word.
В светлом будущем вам не надо будет думать о ложности и истинности высказываний, о том, следует ли утверждение теоремы из доказательства, вам не нужно будет учить правила арифметики и логические операции. У вас будет большая кнопка на которой будет
написанонарисовано счастье, по нажатию которой вы будете счастливы, и вы будете счастливы пока нажимаете эту кнопку.Настоящее освобождение от оков логики и математики грядёт! Свергнем тиранию Гёделя и его прихлебателя Тьюринга!
sshikov
>Вам не нужно будет учиться математике
Да что уж там — вам и писать-то не нужно будет уметь, зачем? Поговорите с компьютером, он вас поймет, и все запишет. Ой, это же и сегодня уже можно, да?
А если честно, хрень какая-то написана. Чтобы компьютер понимал человека, нужно что? Чтобы он понимал естественный человеческий язык. Это называется сильный ИИ. Предпосылок к его скорому появлению прямо скажем особо не видать. Он не может представить, что к 2050 году все еще будут программировать как сейчас? А я не особо верю, что сильный ИИ создадут к тому времени. Ну вот и поговорили.
S-e-n
По сути текста у меня основная претензия — кроме тулзов у программиста есть способность у себя в голове представлять сложные системы, если её нет — то никакие тулзы этого не компенсируют.
sshikov
Это был сарказм. Неужно этого не видно совсем?
S-e-n
Перечитал — заметил, извините. Видимо, мне нужно отдохнуть.
anreal
Смысл этого манифеста не в том чтобы не учить программирование или математику, а в том что нужно создавать визуальные инструменты чтобы оперировать программными или математическими определениями было легче и понятнее для большего числа людей.
С математикой уже понятно что только энтузиасты берутся знать ее на современном уровне, со всеми ее достижениями за тысячи лет. Математический язык в большинстве случаев изучают до определенного уровня, после которого необходимо включать мышление которое сложно выработать обычным людям. А без этого не получится познать все накопленные достижения чтобы хотя бы как-то их применить в реальной жизни, не говоря уже о придумывании чего-то нового. А количество знаний постоянно растет и возможно в следующем веке уже никто не сможет за свою жизнь это все изучить чтобы продвигать науку дальше.
С программированием та же штука, только проще, все же здесь не так все долго развивалось, поэтому реализовать полноценный визуальный инструмент для задач средней или малой сложности вполне возможно и действительно это лишит заработка программистов делающих сайты визитки или какие-то распространенные виды порталов или онлайн магазинов. Но конечно для того чтобы работать в областях со сложными бизнес процессами понадобится специальные визуальные инструменты но все же более понятные чем то что есть сейчас и специально обученные люди, которые умею правильно этими инструментами пользоваться.
amarao
Во всём этом меня раздражает только одно — вы пишите "программные определения" через запятую от сайта-визитки. В теории программирования и смежных математических дисциплинах нет понятия "сайт-визитка". Более того, у меня есть большое подозрение, что программисты не занимаются сайтами-визитками. (если это не те программисты, которые "ты же программист, сделай мне сайт-визитку").
Т.е. в одну кучу свалены все проблемы, причём сверху пришлёпнут логотип "программирование".
Дальше нам придётся таки начать использовать "программные определения". Вы сможете с лёгкостью написать любой визуальный конструктор (который будет WYSIWYG) для примитивно рекурсивной функции. Примитивно-рекурсивные функции хорошо изучены, мы можем предсказывать их поведение, и, вообще, их очень любят.
Но они не могут много чего. Неожиданно много. Как только вы добавляете к примитивно-рекурсивной функции оператор WHILE (в любой своей инкарнации) у вас появляется общерекурсивная функция, для которых доказана невозможность предсказания её поведения (остановки, ответа который она даст и т.д.).
Любая попытка "упростить" проблемную область общеркурсивных функций даст вам unsound решение, которое будет гарантировано запутывать больше, чем помогать.
А писать помощников для примитивно-рекурсивных функций сам бог велел. Что видеомагнитофон запрограммировать, что будильник поставить, что "печататель сайтов-визиток" разработкать — пожалуйста.
Но не надо это делать под лозунгом "мы сделаем программирование ненужным". Либо у вас есть оператор WHILE, либо нет. Если нет — ура, молодцы. Если есть — всё, закапывайте.
anreal
Согласен с вами в данном случае автор поста немного закликбейтил, в манифесте нигде не написано, что программирование не нужно, я увидел «наделить способностью творить каждого», «мир, в котором программирование не требует сложных объяснений». В любом случае визуальное программирование — это будет тоже программирование со всеми базовыми теоретическими знаниями, которые нужны каждому программисту, просто процесс подготовки будет лишен необходимости изучать синтаксис и команды классических языков программирования. И конечно же все визуальные инструменты необходимо будет делать на классических языках программирования, просто этим будут заниматься только профессионалы в своем деле визуальное же программирование будет доступно гораздо большему числу людей.
И, конечно, наверное есть задачи которые для визуального программирования пока непосильны, но уже то что задачи которые сейчас можно назвать модными и нужными многим станут посильны решить самостоятельно этим самым многим.