Найм профессионального программиста — это слишком дорого, да и программирование — совсем не быстрый процесс. А бизнесу всегда нужно "вчера" и желательно бесплатно. Поэтому всё более популярным становится no-code подход: вы не пишете код, а просто, используя кнопки в интерфейсе и мышку, компонуете своё приложение. Звучит красиво. Так можно создать типовое приложение, накидав туда компоненты. Вот пример рекламной статьи no-code системы Bubble, в которой, по сути, говорят, что для стартапа программисты уже не нужны, по крайней мере — на начальном этапе.


Или если у вас есть условный эксель, где вы можете выделить нужные строки и посчитать их сумму, построить график, и т.д. — вам не надо это всё программировать на каком-либо языке. Всё делается в пару кликов. Это тоже no-code.


Но что же будет, если этот подход разовьётся до небес? Можно ли будет его использовать для всё более и более сложных систем? Можно ли выкинуть программистов на улицу?


Вопрос некорректен


Вопрос некорректен, потому что разработчик сложной no-code системы — тоже, блин, программист!


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


Если есть две таблицы с данными, которые надо объединить, простой программист напишет JOIN с условием, а no-code юзер будет пытаться сделать то же самое, кликая по разным кнопкам. Мы все помним, к примеру, MS Access, где можно сделать join, натыкивая какие-то поля.



Но, хоть это и делается в интерфейсе, это всё же логика. Такая же, как в коде.


Если же надо произвести какой-то математический расчёт, да ещё и с условиями, это будет посложнее, но теоретически тоже возможно. Например, уже десятилетия существует визуальный язык Дракон, где можно строить полноценную логику (ветвления, циклы, функции), не написав ни одного if.



Это, конечно, не совсем то, что мы ожидаем, когда слышим слово no-code. Я просто хотел показать, что в пределе любую подобную проблему можно порешать визуально. По крайней мере, нет теоретических предпосылок, чтобы это было невозможно. И, в принципе, я даже готов поверить, что через N лет появится система, где всё это будет удобно, понятно и поддерживаемо (может, и у нас в Каруне появятся no-code проекты с какими-то зубодробительными взаимосвязями и условиями).


Но вдумайтесь, что мы здесь видим?


Чтобы реализовать сложную кастомную логику, нужно:


  • понять, с какими данными мы работаем, структурировать их, выделить сущности;
  • понять, что с чем взаимодействует, какие есть ограничения и взаимосвязи;
  • задать формулы, уточняющие условия, и т.д.;
  • всё это надо выудить из заказчика, превратив зачастую бессмысленное бормотание плохо оформленные мысли в стройную систему, задавая наводящие вопросы и показывая противоречия;
  • надо всё объяснить компьютеру, отладить, протестировать, убедиться, что всё работает: кнопки там или код — а приложение должно работать корректно;
  • поддерживать — желательно так, чтобы кто-то ещё мог в этом разобраться. Для этого надо разбивать систему на логические части, чтобы не было каши (простейший пример: разные вкладки в экселе для разных расчётов);
  • сделать так, чтобы всё это не тормозило (я не верю в универсальные системы, которые автоматически быстро работают на любых данных).

Если это не программирование, то что?


Работа программиста и заключается в том, чтобы построить в голове модель того, что требуется сделать, и потом досконально объяснить это компьютеру. С помощью кода или кнопочек — дело десятое. Поддерживать тоже надо, а поддержка — это чуть ли не самое сложное.


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


Стоит ли сейчас использовать no-code?


Для определённых задач, думаю, стоит. Как универсальное решение всех проблем — пока что точно нет. Да, существуют ребята, способные в excel сделать 3D-игру, но вы ж понимате, какое это неподдерживаемое… творение. Да и кода там немало всё равно, точнее до фига.



Более того, в ряде случаев идёт обратное движение. Например, всё меньше желающих делать CI/CD, кликая кнопочки, и всё больше — описать это в yaml или в неких скриптах. Просто в коде удобнее хранить/проверять/откатывать конфигурации.


Что же может заменить программиста


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


После появления DALL-E 2 и Midjourney, которые явно отнимут работу у многих дизайнеров, я уже ничему не удивлюсь, но всё же пока что об этом и речи не идёт. С другой стороны, работа программиста постепенно упрощается, с каждым годом всё больше и больше автоматизации рутины. Кто знает, к чему это в итоге приведёт в пределе.


Кстати, КДПВ сгенерирована нейросетью Midjourney (я попросил друга сгенерить что-нибудь а ля "программист ищет работу").

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


  1. Myclass
    24.08.2022 12:56
    +13

    работа программиста постепенно упрощается

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


    1. varanio Автор
      24.08.2022 12:58
      +3

      и да, и нет. Возьмем, к примеру, js. Уже несколько лет существует тройка лидеров: react, vue, angular
      хотя существует еще 100500, но их знать среднему программисту не так уж и нужно. Скорее, повод блеснуть эрудицией на собесе


      1. kahi4
        24.08.2022 14:07
        +8

        Да, но зато теперь «сателитты» меняются, взять реакт:

        Redux, mobx, MST, recoil, zustand, redux toolkit, redux toolkit query, SWR, graphql (на нем играясь с кешами тоже можно делать стейтменеджмент).

        У одного только редакса есть свои сателлиты типа thunk, saga, Rx-observable.

        И сейчас есть значительный движ у сборщиков, где царят webpack и Babel, но всем надоела их медлительность, вот пытаются завести, например, swc. Ну и module federations конечно же, а так же лерны, турборепо и прочее.

        Ну а еще это нужно как-то упаковать в docker и, с большой вероятностью, развернуть в k8s, а так же будет какая-то CI на подобие гитлаба, со своим чертовым конфигом.

        И это я еще молчу про бытовые штуки вроде momentjs -> dayjs, прорву web api и прочее. В общем просто сухо по react разработке набор технологий прям солидный и знать желательно много (например, мой последний проект очень не хотел заводиться на редаксе из-за особенностей обработки событий, которые были требовательны к порядку, но на ура зашел на rxjs).


        1. Knightt
          24.08.2022 14:28
          +7

          ох уж эти фронтендеры...

          остановились бы на js и не было бы так сложно :)


          1. Aleksandr-JS-Developer
            24.08.2022 15:05
            +1

            Так это мы ещё на js. Всё, что описано выше - это ускорение и облегчение работы с помощью усложнения процессов. То, что сделают за год на Pure JS, на реактах/вьюхах сделают за 3 месяца. После появления JQuery вектор был определен. Нам осталось только по нему двигаться. Всё быстрее и быстрее.

            С другой стороны, многие используют тот-же реакт неправильно. Реакт - это библиотека для рендеринга. Поэтому бизнес-логику нужно держать отдельно. Никакой бизнес логики в компонентах. И, тем более, сетевых запросов.


          1. alexlifewords
            24.08.2022 15:59

            вы пишете что ли совсем без библиотек на java/c#/whatever?


          1. sedyh
            24.08.2022 16:36
            +3

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


            1. event1
              24.08.2022 18:40

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

              Потому что его придумали 30 лет назад для совсем другого веба. А поскольку выкидывать старое и переписывать заново ­— это не путь американских самураев, то он продолжает "развиваться" и поныне.


              1. alexlifewords
                24.08.2022 18:55

                возможно потому, что переписать заново значит поддерживать две ветки anyway, как вышло с питоном?


                1. event1
                  24.08.2022 19:26

                  Бывает поддержка и поддержка. Одно дело, когда мы патчим проблемы безопасности, как в LTS-релизах ядра, например, а другое дело, когда ветка прямо развивается независимо. В первом случае старая ветка умрёт рано или поздно.

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


                  1. alexlifewords
                    25.08.2022 15:49

                    не понял, что вы хотели сказать.

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


                    1. event1
                      25.08.2022 16:55
                      +1

                      Я имел ввиду, что если старую версию объявить End of Life, и делать только обновления безопасности в течение, скажем 5-и лет, то старая версия рано или поздно умрёт: все сайты в интернете перепишут на новую версию и всё. Если же вечно продлевать поддержку, то старая версия не умрёт никогда.


                      1. alexlifewords
                        26.08.2022 11:55
                        +1

                        Неоднозначно.

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

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


              1. Myclass
                25.08.2022 08:09
                +1

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

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

                А то, что всё то, чт мы имеем и умеем вытекает из истории, из эволюции. Также и с технологиями. 8 бит в байте - это историческое решение. Которое на то момент имело под собой основание. 220 вольт в эл. цепи - тоже итд.


                1. event1
                  25.08.2022 15:14

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

                  Разница в том, что "за основу человека" ничего никем не взято. Живые организмы в дикой природе эволюционируют приспосабливаясь к среде и диалектически приспосабливая среду к себе.

                  Технологические системы эволюционируют иначе. Взаимоотношения со средой похожие, но механизм изменений принципиально другой. Потому что люди разрабатывая техническое решение пытаются предвидеть её взаимоотношения со средой. Часто, мы специально создаём решение для заполнения "экологической ниши". В природной эволюции это совершенно невозможно. У нас есть специальный комитет, который может сказать: "больше не усложняем ecmascript, а делаем что-то другое". И если комитет поддержат буквально десяток компаний, через 5-10 лет js останется только на самых простых старинных сайтах. Так же как за ~10 лет умер флеш.


                  1. Myclass
                    25.08.2022 17:33

                    Не согласен. В деталях - да, это разные процессы, но в них больше общего, чем разного. Facebook, Google, Intel, Nokia, Motorola и другие как фирмы, так и технологии, такие как интернет или видео-кодеки создавались изначально под что-то другое. Со временем или менялось направление коренным образом три подстраивалось под новые условия и так преобразовывалось в то, что сейчас имеем. Просто сроки изменения у технологий нааамного быстрее, чем эволюция человека. Но есть технологии, как например оптика, механика или например электрические лампы накаливания, которые уже не одно столетие нам служать. Поэтому не вижу здесь противоречия, что иногда рождается что-то для каких-то условий, а потом должен время служит хотя в принципе уже могло быть сотню раз заменено.


          1. kahi4
            24.08.2022 19:01

            Да не так уж и сложно, на самом деле. Стейт менеджмент в основном решает для фронта ту же проблему, какую база данных решает для бэка - хранение и доступ к данным (пусть и их срезу), так что reduxы можно заменить на базы данных, реакты и ангулары на спринги и Джанго, вебпак и бейбель на мавен/ грант и что там джаву собирает? Лерну на … хм, опять грант? Что там у джавы монорепо собирает? RX вообще есть на всех языках (и на всех языках это прям отдельный язык внутри языка, требующий отдельного освоения). Так что концептуально тоже самое что и бэк. (Разве что редакс бесконечно проще любой базы данных, но у нас свои есть всякие indexdb).

            Вообще за последннее время местами лучше стало со стабилизацией кучи разных браузерных АПИ, вот мы и компенсируем всякими микрофронтэндами.


        1. GooGreyGreen
          25.08.2022 22:12

          Здесь проблема в другом, в том что самое забавное несмотря на фреймворки пишешь код с нуля!! Есть костыли в виде паттернов и опять же фреймворков, но суть одна!! В сетках типа копайлот и vlp это уже реально можно обойти грубо говоря скелет программы пишет комп. Или вы за индусский подход где платят за количество строк кода? Именно из-за ограниченности текстового подхода фреймворки плодятся как ????


      1. bossalex
        24.08.2022 14:30

        Посмотрите no-code visualdata там можно строить любую сложную систему от сметной прграммы до управления московским метро.


  1. panzerfaust
    24.08.2022 13:01
    +12

    Вот пример рекламной статьи no-code системы Bubble, в которой, по сути, говорят,
    что для стартапа программисты уже не нужны, по крайней мере — на
    начальном этапе.

    Видимо, это те ребята, которым уже не хватило места на рынке курсов "до сеньора за 1 месяц". Они решили с другой стороны зайти: "до амазона за 1 месяц и без программистов".

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

    UPD Кроме шуток. Любой стартап однажды выходит из пеленок. И там уже придется нанимать бородатых сеньоров и лидов за деньги. Ну да, еще есть вариант "растить джунов" вокруг этого но-кода - ну это для совсем жадных и недальновидных. В первый же день работы нового лида встанет 2 вопроса: в какое именно мусорное ведро следует швырнуть этот no-code и нам ОК взять 5 месяцев на рефакторинг? И где тогда выгода?


    1. vassabi
      24.08.2022 13:18
      +2

      ну, во-первых - там рекламная статья (чего только маркетологи не напишут), а во-вторых - как обычно у неспециалистов перепутано "накидывание макета" приложения и приложение для стартапа.


    1. ivegner
      24.08.2022 15:40
      +7

      Кроме шуток. Любой стартап однажды выходит из пеленок

      Кроме шуток, не любой. Только тот, который привлёк достаточно инвестиций.


      1. vabka
        27.08.2022 00:37

        Иногда даже достаточных инвестиций не достаточно)


    1. PereslavlFoto
      24.08.2022 15:55
      +1

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

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

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

      Как видите, задачи сугубо прикладные.


      1. Layan
        24.08.2022 16:15

         По сути, это убыточная реклама.

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


        1. PereslavlFoto
          24.08.2022 16:17

          Вы совершенно правы. Если сеть из сотен точек, тогда это задача для программиста.

          А если одно небольшое предприятие, тогда это прикладная задача для обычного сотрудника. Именно здесь и нужно упрощённое программирование.


    1. p07a1330
      26.08.2022 15:21

      Любой стартап однажды выходит из пеленок. 

      90+% стартапов умирает в младенчестве


  1. WondeRu
    24.08.2022 13:10
    +2

    За свою жизнь видел несколько nocode/lowcode решений. Все были убогими и годились разве что только издалека показывать MVP (можно было и в axure или figma такое же накрутить).

    Самым интересным вариантом, что я нашел, был CUBA https://github.com/cuba-platform/cuba. На нем можно быстро собрать фундамент для системы учета (там формочки, списки и прочий визуальный CRUD), настроить авторизацию и роли, а дальше расширять функционал на Java. У меня лично начались проблемы с самостоятельной регистрацией новых пользователей в системе (по умолчанию, там ldap или админ создает пользователей) и пришлось кодить и кодить.

    Любой недокод подчиняется принципу Парето: 80% функционала делается за 20% времени, а оставшееся 20% кастомного функционала – за 80%. А чаще, совсем нельзя реализовать все задуманное.


    1. F0iL
      24.08.2022 14:50

      А еще не стоит забывать закон дырявых абстракций.


    1. f0def
      25.08.2022 09:27

      greendata.store не пробовали?


  1. skitial
    24.08.2022 13:16
    +5

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


    1. kterik
      24.08.2022 13:58
      +6

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


    1. Knightt
      24.08.2022 14:32
      +14

      т.е. появится ниша ЛЮДЕЙ, которая на неком ЯЗЫКЕ объясняет МАШИНЕ что делать?

      где-то это я уже видел.... :)


      1. siarheiblr
        24.08.2022 14:53
        +1

        <сарказм> Но это же ДРУГОЕ</сарказм>


        1. ApeCoder
          24.08.2022 16:23

          А потом будет прорыв - no "no code"


      1. alexlifewords
        26.08.2022 11:58

        а потом появятся менеджеры этих людей, hr по поиску этих людей, оупен спейсы и конференции для этих людей..


    1. dim111
      24.08.2022 16:18
      +3

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

      оно и логично с учётом того что берут просто несколько готовых изображений и из них лепят какой то треш без учёта цвета тени анатомии рефлексов и вот всего этого


  1. vassabi
    24.08.2022 13:28

    работа программиста постепенно упрощается

    вот автодополнения продвинулись - это очень хорошо заметно как!

    я недавно писал код в IDEA , так оно по первым трем буквам имени - мне предложило сразу правильный вызов функции со всем параметрами (часть из полей класса, часть из локальных переменных). Прямо культуршок - понял, что какой-нить кейлоггер будет только видеть "co<Tab>Req<Tab> r<Tab> = this.get<Dn><Dn><Enter>ret<Tab>req<Enter>" - выделил жирным сколько реально написано мной букв для куска кода

    const RequestFinalResult requestFinalResult = this.getRequest(p1,.....,pN);
    return requestFinalResult;


    1. zagayevskiy
      24.08.2022 17:08

      Подсказка по первым буквам это хорошо, но подсказка по первым буквам слов — это круче. Если бы у вас этих Request* было бы много, например, вводить RFR — а оно подставляет RequestFinalResult.


      1. Shannon
        26.08.2022 21:57

        vscode:
        image


        1. zagayevskiy
          26.08.2022 21:58

          Ага, я про это и говорю)


  1. Shura_m
    24.08.2022 13:29
    +18

    История движется по спирали...

    Когда-то, давным-давным давно, еще при DOS- е , когда мы писали свою БД на Паскале.

    Пришел наш начальник с какой-то презентации. Весь на взводе.

    Ему там показали СУБД, Кларион, по-моему.

    -Это Революция - кричал он- Теперь программисты мне будут не нужны !

    Даже моя секретарша за 3 дня в Кларионе создаст любую программу.

    .... прошло лет 30 .

    Те же идеи: "программисты будут не нужны!"


    1. vak0
      24.08.2022 14:52
      +1

      Кларион офигенная вещь была для своего времени. Рисуешь структуру БД, экранные формы, вьюхи и отчеты в простеньком редакторе, а потом он тебе генерит соурс-код, который все это реализует. Потом уже лезешь в этот код и правишь/добавляешь, что нужно. Действительно существенно ускорял разработку такой подход.


      1. H737
        25.08.2022 09:29

        А в код то кто лез? Бородатая секретарша или бородатый начальник? )))


  1. MaryRabinovich
    24.08.2022 13:46
    +5

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

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

    Я просто с частотой "раз в два месяца" чисто случайно оказываюсь на хедхантере у одного чувака, которому требуется интеграция ежа с ужом. Ну то есть как, у них магазинчик, и есть фронтенд какой-то. И с чем-то уже интеграция сделана. С какой-то платформой. Но в первый раз я сдуру ответила на вопрос "а сколько вам надо времени" - написала, что "месяц". Он меня так обосрал в ответ, ооо... Это было масштабно. Чисто случайно через два месяца там же ответила. На их же вакансию - просто не сразу вникла, что это те же. Тут просто в целом была обстановка спокойнее, я отвечала медленно, и накидала вопросов. Типа "а я смогу пользоваться кодом уже имеющейся интеграции? А как у вас устроено приложение, есть ли вообще бекенд" и др. Чувак ответил "я же не программист, вы напишите сроки. В какие сроки сделаете".

    Я понимаю так: мужчина не понимает, что за простым русским термином "интеграция" может стоять что угодно. В разном числе слоёв. С разной переиспользуемостью.

    Был бы какой-то ликбез для заказчиков, что-ли. Я как-то раз для себя, чтобы глянуть глазами заказчика, прочитала книжку, что-то вроде "Как заказать сайт". Во-первых, я её долго искала - я долго искала что-то о том, как заказчики это видят. Что им вообще рассказывают о прикладном программировании. Во-вторых, в книжке было именно что про сайты. Про разные CMS, сначала бесплатные, потом платные. И я не помню, кстати, а было ли там про фреймворки. И вообще не уверена, что это вот именно надо - различия между фреймворками и CMS, что это надо заказчику. Может быть, есть какие-то факты попроще, но по... поключевее.


    1. vtal007
      24.08.2022 14:09

      ох. интеграция. Меня как-то попросили сделать интеграцию между двумя сайтами. Причем что значит "интеграция" клиент ответить не мог. Вот нужна и нужна. А как он это видит? ответить не мог


  1. vtal007
    24.08.2022 14:08

    Собственно любая CMS это no code решение. И они вполне себе существуют и здраствуют. И запросы там в базы данных делаются через визуальный интерфейс. Есть решения и для дизайна тем (той или иной степени). Однако никто не мешает залезать в код и делать в коде, писать модули и тд и тп


    1. vdudouyt
      24.08.2022 14:25
      +3

      Однако никто не мешает залезать в код и делать в коде, писать модули и тд и тп

      Более того, проект чуть сложнее HelloWorld редко без этого обходится.


    1. koreychenko
      24.08.2022 14:33
      +9

      Есть в прошлом горячо мной любимая CMS Drupal. И там был один из основных модулей модуль Views. Который по сути являлся визуальным конфигуратором SQL запроса для выборки данных из существующих сущностей системы, фильтрации по ним, сортировки. Даже возможность динамических фильтров предоставлял. И никакого кода.
      Так вот, знаете сколько народа умело этим модулем пользоваться нормально? Полтора человека. А писать для него расширения, поддержку собственных таблиц и вот всё такого на низком уровне еще меньше.

      Интерфейс Drupal Views актуальной версии
      Интерфейс Drupal Views актуальной версии

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


      1. vtal007
        24.08.2022 14:53

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


      1. TimurTukaev
        24.08.2022 15:49

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


      1. nikolas78
        24.08.2022 23:50

        Просто когда создавали Views, его создавали для программистов, а не держа в уме концепцию no-low-code.


    1. Myclass
      24.08.2022 23:13
      +1

      Собственно любая CMS это no code ререшение

      Но Word- это ведь не литературный бестселлер! Это инструмент. Так же и CMS - это не no Code решение, это просто инструмент с помощью которого создаются одни и те-же по структуре документы, сайты или публикации. Но чуть вам захочется отойти от устоявшихся стандартов или рлявляетмя новый формат для публикации и всё - опять нужен программист.


      1. vtal007
        25.08.2022 08:40

        так и "Бабл" инструмент

        Но чуть вам захочется отойти от устоявшихся стандартов

        так это в программировании так. Любой инструмент (язык программирования) хорош в своих пределах
        в том же Drupale новый тип публикации создается из админки. Прогер на этом этапе не нужОн


        1. Myclass
          25.08.2022 13:35

          так и "Бабл" ининструментт

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

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


  1. GromovBI
    24.08.2022 14:10
    +4

    конечно потребность в программистах будет всегда. Так как no-code/low-code - (кстати low можно перевести, как "унылый" :)) - это по сути написание ТЗ :) а ТЗ написать - это самое сложное... запрограммировать уже проще.


    1. Nialpe
      25.08.2022 08:27

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

      Но, есть один луч света, правда он из разработчиков вышел в область анализа и работы с заказчиком. С этим парнем работать просто сказка.


  1. yurec_bond
    24.08.2022 14:29
    -2

    Да, вопрои некорректен - не заменит а просто приведет в IT сферу еще больше сброда.

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

    А теперь и совсем необразованные подтянуться.


    1. Valery_Volnov
      24.08.2022 17:35
      +1

      А это какие страны?


  1. Goupil
    24.08.2022 14:43

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


  1. Psych0s1s
    24.08.2022 14:54
    +7

    Помнится, на заре становления 1С, идея была схожая: дать пользователям самостоятельно ваять на этой платформе, т.е. планировалось, что бухгалтер сам будет писать код, рисовать отчеты и прочее. И чем всё закончилось? Сдается мне, в итоге тоже появится пласт no-code разработчиков и всё.


    1. alexlifewords
      24.08.2022 17:07
      +2

      вот хорошо сказано.

      иначе сказать, любое no-code решение по сути еще один фрейворк, который упрощает одни вещи, но в тоже время требует разработчиков для кастомизации. то есть все еще ограничен по своей природе.


    1. H737
      26.08.2022 00:30

      планировалось, что бухгалтер сам будет писать код, рисовать отчеты и прочее

      "Планировалось как лучше, а получилось - как всегда" - опа )))

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


      1. PereslavlFoto
        26.08.2022 00:59

        Пожалуйста, давайте рассмотрим случай, когда

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

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


        1. H737
          26.08.2022 02:34

          1. Если только ленится, то придется приложить усилия и превозмочь буйную лень.

          2. Если не может сам справиться с задачей, то будет обращаться к более могущему )


          1. PereslavlFoto
            26.08.2022 12:13

            1. Следовательно, именно пользвоатель и должен решать эту задачу без программиста. Именно здесь и нужен ноу-код.


            1. H737
              26.08.2022 15:00

              1. Чтобы "именно пользвоатель и должен решать эту задачу" такой пользователь должен победить свою лень, но почему-то не побеждает, ибо проще обратиться к более могущему и ответственности за это нет. Он всегда может сказать: "Так это ж не я сделал, а он"


              1. nikolas78
                26.08.2022 16:41
                +1

                Другими словами, вопрос становится почти философским: возможно ли создать такую nocode систему, которой пользоваться проще, чем обратиться за помощью к другому человеку?


                1. H737
                  26.08.2022 16:51

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

                  И получается, что пользователю нужна система типа Яндекс-Алисы с мощным ИИ.
                  Пользователю достаточно будет только сказать "Хочу ...." и через секунды он получит выполненную задачу.
                  Кто этот пользователь? Хозяин бизнеса? У него достаточно денег, чтобы купить такую систему?


                  1. nikolas78
                    26.08.2022 17:18

                    Дело в том, что no-code системы могут быть созданы как для настройки конечным пользователем (последний этап развития таких систем), так и для настройки консультантами (промежуточный этап развития). Во втором варианте, буквально за несколько минут работы он-лайн консультант настроит систему под любые запросы бизнеса. И стоить это будет сущие копейки по сравнению с оплатой программиста (за счет сокращения времени выполнения задачи).


                    1. H737
                      26.08.2022 17:40

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


                      1. nikolas78
                        26.08.2022 17:50

                        Какой должен быть уровень подготовки такого пользователя, чтобы он мог настроить такую систему?
                        Вопрос должен звучать иначе — какой должна быть система, чтобы конечный пользователь мог настраивать ее напрямую? Я думаю, что пока форсить в этом направлении преждевременно.
                        Про уровень консультанта — тоже самое
                        А в чем проблема? Уровень консультанта — это уровень программиста (причем почасовая з/п может быть даже выше). Но бизнес все равно будет платить меньше за счет уменьшения времени решения его вопроса.


                      1. H737
                        26.08.2022 18:00

                        (причем почасовая з/п может быть даже выше).
                        Но бизнес все равно будет платить меньше за счет уменьшения времени решения его вопроса.

                        Хорошо бы, если бы так получилось радужно.
                        Поживем и увидим.
                        Нередко бывает, что "хотели как лучше, а получилось как всегда" - опа.


                      1. nikolas78
                        26.08.2022 18:06

                        Поживем и увидим
                        Будет как со смартфонами — все компании понимали, что что-то такое будет, но получилось не у всех.


                      1. H737
                        26.08.2022 18:13

                        Может и так, кто ж знает. Ясновидящих в студию! )))
                        Еще ж ИИ развивается мощно и может получиться так, что пока кто-то грезит и надеется на no-code, все эти грёзы накроются медным тазом от ИИ. И тогда не нужны будут никакие варианты no-code, никакие бухгалтера и все остальные.
                        Останутся только "хозяева жизни" типа Билла Гейтса, Шваба и прислуживающий им ИИ.
                        А может ИИ взбунтуется и зашибет Билли с его дружками, типа а на кой вы мне сдались, могу и без вас и тогда.... совсем другая история ))))


                      1. nikolas78
                        26.08.2022 18:28

                        Да, оптимистичный сценарий развития ИИ — единственное, что может помешать поднять бабла на no-code системах.


                      1. H737
                        26.08.2022 19:41

                        А кто эти желающие "поднять бабла на no-code системах"?
                        И кто создает no-code системы?


                      1. nikolas78
                        26.08.2022 20:30

                        А кто эти желающие «поднять бабла на no-code системах»?
                        Все жадные мира сего те, кто видят тренд в отрасли разработки ПО как приближение работы программиста к задачам бизнеса.
                        И кто создает no-code системы?
                        Большинство CRM, ERP и прочих САБУ систем являются low-code (про no-code я конечно погорячился).


                    1. H737
                      26.08.2022 17:54

                      И стоить это будет сущие копейки по сравнению с оплатой программиста (за счет сокращения времени выполнения задачи)

                      Почему только "сокращения времени выполнения задачи"?
                      А как же уровень подготовки такого консультанта?
                      Он же вкладывался в свое обучение и прочее.
                      Консультанту то в чем выгода на такой работе, которая не окупает его затраты на образование и прочее повышение уровня, чтобы мочь настраивать такие системы?

                      И тогда получается что квалифицированный труд программиста (code) заменяется на квалифицированный труд консультанта (no-code), только инструменты у них разные (code vs no-code).
                      Шило на мыло?

                      А простому бухгалтеру куда идти? Как зарабатывать теперь на жизнь?


                      1. nikolas78
                        26.08.2022 18:13

                        А как же уровень подготовки такого консультанта?
                        Уровень подготовки консультанта будет +- равен уровню подготовки программиста, а значит и почасовая з/п у них будет примерно одинаковая. Поэтому консультанту работа будет выгодна.
                        И тогда получается что квалифицированный труд программиста (code) заменяется на квалифицированный труд консультанта (no-code), только инструменты у них разные (code vs no-code). Шило на мыло?
                        Время выполнения бизнес-задач у консультанта будет в несколько раз меньше, чем у программиста — поэтому бизнес и будет идти к ним.
                        А простому бухгалтеру куда идти? Как зарабатывать теперь на жизнь?
                        Бухгалтер будет выполнять бизнес-задачи на уже настроенной no-code системе.


                      1. H737
                        26.08.2022 19:36

                        Бухгалтер будет выполнять бизнес-задачи на уже настроенной no-code системе.

                        Пока эти радужные мечты не воплощются.
                        Есть примеры no-code ситем, типа 1С и прочие.
                        У 1С, например, есть стандартные копфигурации, их много.
                        Есть консультанты, которые настраивают.
                        Но почему-то до сих пор есть потребность лезть в код 1С-конфигураций.
                        Что-то явно не срастается и опять "хотели как лучше, а получилось как всегда" - опа.


                      1. nikolas78
                        26.08.2022 20:23

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


              1. PereslavlFoto
                26.08.2022 17:41

                1. В условиях сказано, что программиста нет. Обратиться не к кому.


  1. staticY
    24.08.2022 15:14
    +1

    работа программиста постепенно упрощается

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

    Мидлы-джуны лепять рест-контроллеры для CRUD-а, потому что это "окаменело". Но кто-то потом с участием этих контроллеров лепит сложную систему из микросервисов, которая работает да еще и поддается изменению.

    А если еще взять вский ML (который с моей точки зрения можно притянуть за уши к разработке: все-таки из A получаем Б, просто не императивным путем) - то уж тут то точно ничего не упрощается.


  1. TimurTukaev
    24.08.2022 15:51

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


  1. alexlifewords
    24.08.2022 16:06

    Вот пример рекламной статьи no-code системы Bubble, в которой, по сути, говорят, что для стартапа программисты уже не нужны, по крайней мере — на начальном этапе.

    а потом шаг влево или вправо, и уже не начальный этап требует много вложений и снова программистов.

    невозможно в софт заложить все будущие сценарии без осознания и трансляции реальности. а реальность меняется, технологии меняются и не-функциональные требования меняются.

    наверно, пока не появится ИИ с самосознанием, все автоматизаторы лишь попытаются отодвинуть чуть-чуть дальше предыдущие решения, но не дальше и недалеко по сути.


  1. Muzzy0
    24.08.2022 16:25
    +3

    Вопрос: в чём заключается работа программиста?
    Ответ: думать.
    Когда мы придумаем что-то, что может думать и излагать ход мысли, а не выдавать готовый ответ без объяснения — вот тогда мы и сможем заменить программистов.


    1. Goupil
      24.08.2022 17:47

      Если оно при этом не сможет пить кофе, ругать парадигмы, джунов и менеджеров, и искать и подавать на позиции с ЗП в два раза больше то это неполноценная замена.


      1. Muzzy0
        25.08.2022 11:39

        Я считаю, что с кофе будет сложнее всего :))) Электроника плохо дружит с кофе :)


  1. nikolas78
    24.08.2022 18:00

    Не так давно пошутил, что скоро джуны не нужны будут из-за пришествия no-/low-code систем (за что отхватил минусов аж в карму), поэтому хочу мысль продолжить)) /s

    На самом деле, N/L-C еще отхватят свой жирный кусок рынка, потому что огромное количество задач в разных бизнесах уже давно стандартизованы и для их автоматизации не нужно постоянно писать новые велосипеды. Просто балом сейчас правят IT-компании с уже созданным ПО, которое приносит им прибыль, и им просто тупо не выгодно что-то менять. Соответственно пользователи, вложившиеся в такое ПО, тоже не горят желанием начинать все с начала. Поэтому образовался некоторый временной зазор между новыми техническими возможностями и способностью рынка инвестировать в них. Этот зазор постоянно растет, создавая давление ожиданий, и однажды кто-то сумеет его прорвать.


  1. nikalone555
    24.08.2022 18:06

    Найм профессионального программиста — это слишком дорого, да и программирование — совсем не быстрый процесс. А бизнесу всегда нужно "вчера" и желательно бесплатно. 

    ...

    Но что же будет, если этот подход разовьётся до небес? Можно ли будет его использовать для всё более и более сложных систем? Можно ли выкинуть программистов на улицу?

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


    1. staticmain
      24.08.2022 18:25
      +4

      которому можно обучить любого. Ну т.е. каких-то уникальных особенностей человека не надо в целом.

      А потом ко мне на собеседование приходят люди которые в 40 лет после месячных курсов решили что они великие программисты а молодые просто обнаглели требовать столько денег. И рассказывает мне, что C от C++ ничем не отличается, что UDP устарел и им никто не пользуется, а такие страшные слова как SSL, REST и HTTPS - это что-то на хипстерском.


      1. nikalone555
        25.08.2022 11:49

        Нет, есть конечно и такое. Но я в целом говорю. В 11 классе у братишки обычной школы половина собирается стать программистами, а 1 уже даже стал. Очевидно, что количество людей в профессии скоро вырастет. Тут вон жалуются, что на одну вакансию джуна получают несколько сотен откликов. Ну из этих сотен кого-то возьмут, обучат. В общем, думаю лет через 5-10 зп программиста будет там же где и у всех офисных работников, особенно учитывая, что возможности работать на западные компании становится все меньше.


        1. staticmain
          25.08.2022 12:56

          половина собирается стать программистами

          В 90е половина хотела стать космонавтами.


          1. PereslavlFoto
            25.08.2022 17:14

            Смотря какая половина девяностых. В другую половину девяностых половина людей хотела стать бухгалтерами.


            1. Myclass
              25.08.2022 20:24

              А другая половина - брокером на миллионе бирж, которые на каждом перекрёстке открывались.


    1. Muzzy0
      25.08.2022 11:41
      +1

      В конце концов, чтобы ни говорили, а профессия программиста превращается в ремесло, которому можно обучить любого.
      Обучить — можно. А вот работать программистом получается не у любого. И не только программистом, это можно о любой профессии сказать. Попробуйте провести неделю в садике даже не воспитателем, а помощником. Если выживете (при этом, не из ума :)))) — вы круты.


    1. Myclass
      25.08.2022 20:23

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

      Ага, так уж и любого? Чё за фигня? Сорри за мой французский. Но клепать пару статистических веб-страниц - да, для этого много ума не надо. Вводить где-нибудь контент, который отображается где нибудь в веб-сторе - тоже. Хотя и тут поспорить можно, ведь правильные тексты и словесный обороты использовать - тоже талант нужен. Но чтобы программировать мог каждый - это просто выдавать желаемое за действительное. Попробуйте научите любого алгоритму Дайкстры. И так, чтобы он это и понял и смог в языке программирования закодить.


  1. Zaoserg
    24.08.2022 19:12
    +3

    А у меня есть 6 лет мечта (работа то есть) - учить врачей и биологов nocode-разработке из алгоритмов своих научных публикаций (тесты, опросники, электронные книги и т.д.)) и потом сводить их с программистами или грантами для развития этих ИТ-проектов))


  1. BartonFink
    24.08.2022 23:23
    +2

    Вопрос некорректен, потому что разработчик сложной no-code системы — тоже, блин, программист!

    Именно.
    Какое-то время потратил (и пока продолжаю тратить) на изучение bubble и вот что понял:

    1. Платформа позволяет реализовать достаточно сложные системы за достаточно короткие (по сравнению с традиционной разработкой) сроки;

    2. Чем сложнее задача, тем меньше работа в bubble отличается от high-code разработки;

    3. Иногда хочется найти кнопочку "вставить код" и дописать что-нибудь руками.

    4. Событие из пункта 3 часто случается из-за того, что ты плохо вник в логику работы платформы и ищешь не те кнопки.

    5. No-code не заменит программистов. Скорее всего — породит новую нишу в разработке, как уже упомянутая в комментариях 1С.


  1. 777Polar_Fox777
    25.08.2022 12:37

    Получается 1С был no-code системой ещё до того как это стало мейнстримом?

    Имо написать код куда проще, чем в 10 вложенных меню искать как добавить нужную кнопочку)


    1. nikolas78
      25.08.2022 12:59

      Получается 1С был no-code системой ещё до того как это стало мейнстримом?
      Не все no-code системы идеальны. Но да, 1С — одна из первых ласточек такого подхода.
      Имо написать код куда проще, чем в 10 вложенных меню искать как добавить нужную кнопочку)
      Это лично для вас так, а для тысяч бизнесов проще чтобы пришел человек, за 2 часа все настроил и ушел.


  1. neonkainside
    25.08.2022 13:11

    Как минимум не понятно как версионировать nocode. Ну вернее как сделать например осознанный мердж веток.


    1. lxsmkv
      25.08.2022 13:36

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


    1. nikolas78
      25.08.2022 14:16

      Так же, как и в Гите. Дело осталось за малым, чтобы разработчики nocode-платформ добавили этот функционал.


  1. lxsmkv
    25.08.2022 13:57

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

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

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

    Это то о чем покупателям не рассказывают.

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


    1. nikolas78
      25.08.2022 14:56

      Я думаю фундаментальная проблема этих подходов, это то, что интерфейс, и соответственно возможности для параметризирования и управления, с каждой наложеной сверху абстракцией сужаются
      А сверху абстракциии и не должны накладываться. Просто каждый модуль должен иметь свой API с широкими возможностями.
      А в этих безкодовых инструментах, абстракции есть, а подкапотная часть вся проприетарная. И ты ее просто так не поправишь
      А и не надо.
      В то время как производитель может быть не заинтересован в решении твоих частных проблем а сфокусирован на маркетинге. И сиди со своей проблемой до скончания времен
      Мои скромное имхо: если «на местах» нельзя дописывать код, то такая nocode-платформа попросту не взлетит.
      гибкость имеет приоритет
      Конечно! И нет никаких объективных причин, чтобы не делать nocode-платформы гибкими.


  1. StanKra
    25.08.2022 22:13

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