2021-08-29 21:13:16
Тут мне в мессенджере один товарищ задал вопрос, что я думаю про новую движуху с no-code / low-code. Он увидел мои комменты в стиле "кому и кобыла невеста" у товарища по имени Алекс Кролл и захотел услышать мое развернутое мнение. Тут есть такой нюанс, что Алекс Кролл меня по-видимому забанил (я не вижу его записи). Я на это совершенно не в обиде, Алекс имеет право и более того он меня забанил после того, как я полностью высказал свою позицию по вопросу, получил возражения от Алекса и его комментаторов, и ответил на эти возражения. Это очень круто, так как большинство людей (Илларионов, Радулова, Митрич, Мальгин, Ольшанский, Экслер) банят меня на раннем этапе дискуссии, и хэппенинг в стиле древнегреческих философов не случается.
Если вы не хотите читать моей развернутый ответ товарищу в мессенджере (ниже), я сформулирую мой главный тезис так: вся эта движуха с no-code / low-code - это маркетинг контор, которые пытаются продавать (а точнее поднять деньги, обосновывая будущими продажами) платформы для создания no-code / low-code приложений, используя мечту "креативного класса" о стартапах без противных программистов. Историческая аналогия: самый крупный (в определенным момент) банк США - Wells Fargo Bank - поднялся в свое время на продаже кирок, лопат и продуктов золотоискателям.
У меня тут возникает сооблазн заняться психоанализом креативного класса, но фиг с ним, ответим по существу (текст ниже я не редактировал, просто перенес из мессенджера, поэтому в нем есть повторы):
Low-code / no-code системы безусловно имеют ниши, но они не могут заменить все уровни разработки. К таким нишам относится автоматизация производства (системы контроля станков), четко определенные встроенные приложения (контроль беспилотников с набором вариантов сенсоров), бизнес и веб-приложения определенных форматов (темплейты для документооборота, магазинов). Однако как "кирпичики" для этих приложений, так и системы разработки (генераторы кода, библиотеки компонентов итд) будут писаться кодом. Кодом будет делаться базовый стек (операционные системы, компиляторы итд). Также low-code невозможно сделать базовыф софтвер и тем более хардвер для массовых устройств типа смартфонов, где ничтожная разница в производительности или энергопотреблении даёт большое конкурентное преимущество.
Пример из другой области: в проектировании микросхем в 1980-х произошел переход от no-code (рисование схемы мышкой на экране) к code (синтезу схем из кода на языке описания аппаратуры) и хотя low-code потом снова пробовали внедрить (рисование мышкой диаграмм конечных автоматов), выяснилось что кодом просто быстрее проектировать и рисование мышкой делается только для микроархитектурных диаграмм.
Насчёт рынка труда: как изменился рынок труда поваров после появления индустрии готовых завтраков, которые можно засовывать в микроволновку? Как-то изменился, но не так чтоб уж очень. Во-первых, кто-то должен придумывать и эти завтраки, во вторых люди будут продолжать готовить сами и питаться в ресторанах.
Тут я должен сказать, что я всю жизнь работал в продуктовых компаниях. То есть компаниях, которые делают софтвер и/или хардвер для внешнего заказчика. Я не вижу, как тут что-либо меняется, так как для профессионала написать код как правило просто-напросио быстрее, чем водить по экрану мышкой, соединяя некие компоненты написанные другими людьми в приложение. "Как правило' означает, что есть области, где водить мышкой быстрее - например нарисовать dialog box для GUI. И есть области где это вкусовщина - скажем сгенерировать конечный автомат из диаграммы. Но большинство областей программирования не такие - попробуйте нарисаовать мышкой компилятор или операционную систему. Это раз.
Далее, как вы думаете, как написаны сами компоненты, а также программа, которая позволяет непрофессионалу делать no-code application? Это тоже no-code application? Нет, в этой матрёшке где-нибудь внутри все равно будут компоненты написанные кодом, и для их написания потребуются живые люди, пишущие код. Это два.
527 viewsМаксим Кульгин, 18:13