Код больше не пишут

Глава 18. Умение вместо функции

Часть VI. После vibe coding5 мин

18

Умение вместо функции

Чёрно-белый снимок: двое мужчин стоят у высоких стоек вычислительной машины, сплошь усаженных электронными лампами.архив
EDSAC в Кембридже, рядом Уильям Ренвик и Морис Уилкс. В 1951 году Уилкс с коллегами описал подпрограммы в первом учебнике программирования. Источник: Computer Laboratory, University of Cambridge, CC BY 2.0

В Кембридже начала пятидесятых рядом с EDSAC, одной из первых вычислительных машин, которые действительно работали, стоял стальной шкаф с бумажными лентами. На каждой ленте дырочками была записана маленькая программа, умевшая одну вещь: посчитать синус, извлечь корень, красиво напечатать число. Если в задаче нужен был синус, программист доставал ленту, механически переписывал её на свою и возвращал оригинал на полку. В 1951 году Морис Уилкс, Дэвид Уилер и Стэнли Гилл описали этот порядок в первом учебнике программирования, и маленькие программы, которые вставляют в большие, с тех пор называются подпрограммами, а потом функциями.

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


Проще всего показать её на счёте. Функция createInvoice() создаёт счёт, если ей аккуратно подали все данные в нужном виде. Программный интерфейс даёт адрес вроде /invoices, куда счёт можно отправить на хранение. А умение выставляет счёт клиенту, и это совсем другой глагол. Оно выясняет, кто клиент и какие у него реквизиты, собирает позиции из сделанной работы, применяет правила компании о скидках, налогах и сроках, делает документ, отправляет туда, где клиент его действительно прочитает, запоминает, что счёт ушёл, и, если к сроку денег нет, само напоминает. Внутри оно пользуется десятком функций, парой чужих служб, памятью и правами доступа, а снаружи выглядит как одно действие, понятное любому бухгалтеру.

После входа

Дальше книга открыта для тех, кто вошёл

Войдите через INITE или заведите аккаунт. Это займёт минуту, и книга откроется прямо здесь.