Немного истории про ноукод и лоукод от Алана Кея 1991 года, нашел чудесную лекцию - пусть побудет тут
Несколько основных цитат, чтобы было немного больше контекста и содержания
https://tinlizzie.org/IA/index.php/End-User_Programming_by_Alan_Kay_(1991)
https://www.youtube.com/watch?v=d6u6my4tCKU
НО основная идея во многом верна до сих пор: нельзя создать систему, которая позволит рядовому пользователю создать программу наравне с профессионалом по той же причине, почему нельзя создать систему, которая уравнивает ребенка и взрослого при создании какой-то программы. У большинства людей (он смешно шутит про доверительный интервал, не факт, что распределение именно такое и это неважно, на самом деле) нет готовых когнитивных схем для того вида абстрактного композиционного мышления, которое требуется для программирования. Они отлично справляются с прямой манипуляцией, но теряются, когда нужно строить поведение из примитивов, комбинировать их и планировать наперёд.
Немного цитат:
Главная цель — дать конечным пользователям возможность создавать вещи примерно на том же уровне, на каком их создают профессиональные программисты.
Я формулирую это именно так, потому что, когда мы учим человека писать по-английски, мы не говорим: «Ты справишься с этим делом, только если в итоге напишешь шекспировский сонет или пьесу». У нас есть разные уровни грамотности в чтении и письме, но язык, которому мы учим людей читать и писать, — это тот же самый язык, которым пользуются великие писатели.
Точно так же, когда мы учим людей рисовать или играть на музыкальном инструменте, мы обычно даём им те же самые инструменты, которыми пользуются великие мастера.
Идея в том, что конечные пользователи должны иметь возможность стремиться к тому, что они видят вокруг себя. В случае Macintosh это значит, что пользователи должны иметь возможность стремиться к тому, что они видят на Маке каждый день. Они могут покупать готовое ПО в King's software и, возможно, никогда не захотят сами создавать что-то подобное. Но те небольшие вещи, которые они всё-таки будут создавать, должны быть построены из тех же самых «строительных блоков», из которых, как они считают, построены большие приложения.
И я, пожалуй, начну с того, что считаю главной теоремой всей этой работы:
Конечные пользователи — не такие, как мы.
Это своего рода «теория колоколообразной кривой» применительно к жизни. Она говорит, что в любом деле в популяции примерно такого размера (показывает на зал) от 3 до 5 % людей уже довольно хорошо «преднастроены» к обучению именно этому делу. Для каждого вида деятельности это будет разный 5 %. И лишь немногие исключительные люди предрасположены ко многим вещам сразу.
Одно из главных отличий экспертов (независимо от области), по мнению когнитивных психологов, от не-экспертов заключается в том, что у экспертов в голове от 10 000 до 50 000 так называемых «клише» — готовых структур. Это вещи, которые уже не зависят от элементарных строительных блоков. Маленькие абстрактные структуры — например, «суммирование элементов массива».
Это идея, которая у нас есть. В каждом языке это делается по-разному, но когда мы сталкиваемся с проблемой, мы начинаем (и эксперименты это подтверждают) отображать проблему на эти 10 000–50 000 уже усвоенных структур. Это даёт нам способ планировать.
Одно из главных отличий планирования эксперта от планирования новичка: новички (если вообще планируют) пытаются планировать в терминах «кирпичиков», а эксперты почти никогда так не делают.
Когда мы начинаем разбираться в этом, мы увидим, что некоторые вещи, которые очень хорошо работают с 85 % пользователей, на самом деле вредят этим 5 %, потому что у них уже есть какие-то схемы, которые, хотя и не связаны напрямую с областью, гораздо лучше адаптируются к ней.