It seems to me that in a statically typed, object oriented language, there is a striking similarity to wiring diagrams. Wires (objects) of type $X$ go into functions (boxes) of input type $X$. Is the corresponding string calculus that of a symmetric monoidal category?
Edit: it has been suggested that I formulate a more specific question. Here goes: let the programming language have private member variables. At this point you cannot copy arbitrary objects because the data is hidden. I guess you also have to assume that there is no generic copy method for all types. Becasue copying isn't allowed arbitrarily, we might need a monoidal category to handle the semantics. Is this the case?