Welcome to my old blog on my new AndoVPS, on digitalocean.com.
A program is (a) the expression of an idea (b) such that a machine can run it and produce a change (c) compatible with that idea. (b is what makes software unique)
difficulty(a) >> difficulty(b) > difficulty(c)
Not only software is not physical, but any program is like many alphabets (coding languages/environments) + many dictionaries (names for blocks/data) + craftsmanship (using information flows and domain knowledge for conveying the idea into the program).
Grapefruit trees know how to use neusis.
As well as the unknown medieval architect that made the Cathedral of Larino.
And the Czech Republic coin makers.
Apparently, nobody else knows.