Вот
Программист, как инженер, в первую очередь занимается первым. Второе - обязательный, но второстепенный элемент, как и у инженера с чертежом. Чертежи, как и экземпляры программы, можно размножать бесконечно, это не значит, что программист станет трудиться бесконечно много. Если сравнить такую ситуацию с классическим пролетарием на заводе, то все станет ещё ясней.
Все так. Но чертеж и программа, полученная от программиста различаются. Чертеж - чистая идея, его преобразуют в материальные блага рабочие.
Программист создаёт "чертеж", и ещё одну маленькую вещь. Он воплощает этот чертеж в жизнь. Согласен, что количество труда - микроскопическое, но оно есть. И результатом работы является первый экземпляр, который потом постоянно копируется.
Кстати, стоимость копирования ненулевая. Но микроскопическая, это да.
Если бы были станки, куда достаточно засунуть чертеж, и они потом могли бы распечатать хоть сто, хоть сто тысяч деталей за одну секунду, то как бы мы назвали человека, который делает чертеж и загружает его в станок? И разве от этого бы полученные продукты стали менее материальными?