Действительно важная идея в дизайне языка программирования как дизайна пользовательского интерфейса — это время до ETBD.

Сколько времени требуется, чтобы перейти от нуля к состоянию «Достаточно, чтобы быть опасным» (т. е. достаточно знаний, чтобы быть в состоянии надежно создавать полные по Тьюрингу конструкции с условными выражениями и простой математикой). Если у вас есть ETBD на каком-то языке, то вы можете написать на нем что угодно (кроме IO), приложив достаточно усилий, даже не изучая больше никаких фич.

Некоторые языки имеют очень быстрый ETBD — пролог, форс, бейсик, питон. Эзоланги часто даже не имеют функций, выходящих за рамки уровня ETBD (например, Brainfuck и Unlambda).

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

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

Количество усилий, которое требуется, чтобы добраться до ETBD в Java, C или C++, и количество новых концепций, которым нужно отдать должное (если они на самом деле не поняты), являются барьером для новых программистов.

(Современные графические интерфейсы никогда не достигают точки ETBD, за исключением тех, которые задуманы как языки. В результате современные графические интерфейсы, оформленные как языки программирования, по существу нефункциональны. Точно так же многие системы якобы не являются полными по Тьюрингу, но имеют странные машины, которые позволяют вам чтобы привести их к полному по Тьюрингу поведению — как CSS или шрифты truetype; поскольку поиск этих функций на самом деле невозможен для новых пользователей, это не засчитывается в кривую обучения.)

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

Я не считаю веб-стек значительным улучшением по сравнению с другими системами по этому показателю, если только вы не рассматриваете возможность получения среды в рамках времени до ETBD и не считаете, что знаете, что такая среда существует как Часть этого. Даже в этом случае домашние компьютеры, загружающиеся на BASIC и поставляемые с руководствами, начинающимися с простых примеров программ, имеют лучшее время до ETBD в этом смысле, чем браузеры — время от покупки первого компьютера до возможности надежно писать простые программы, полные по Тьюрингу, на 8-минутном компьютере. бит микро может быть годами (или может быть отрицательным, если продавец в компьютерном магазине научил вас программировать на демо-машине). Есть люди, которые используют веб-браузеры уже двадцать лет, даже не подозревая, что могут написать программу, которая будет работать в одном с текстовым редактором.