side note: after dabbling into electronics and electromechanics.. I tend to see them as programming already. You're coupling geometries in a mathematical way. If you do reactive/dataflow programming that's very very similar.
Also, army videos of 40s mechanical computers hint that way I think. (in a way the meaning of programming is quite blurry)