Идея модульности:
Языки программирования сильно различаются и по степени удобства разбиения, и по качеству клея.
Чёрные ящики аналогичны деталям головоломки.
Подходящие края - это нормальный
способ комбинации функций:
передача аргументов и возврат значения. Никаких лишних проводов, торчащих наружу.
Каждая свободная переменная в теле определения функции - это один провод. Такие провода требуют дополнительных усилий:
Удобство языка зависит возможности работы со свободными переменными.