Programming languages all posses one thing that most (perhaps all) natural languages lack: a 1:1 equivalence with some mathematical construct, or an abstraction backed-up by such a construct. In order for a natural language to be useful for programming computers the language must be completely describable in mathematical terms.
Completely agree; left a similar comment upthread. Natural language will be insufficient for programming until we succeed in accurately reducing all natural language to mathematical expressions, which could be achievable if we unlock the secrets of exactly how the human brain stores and accesses data. Needless to say, I'm not holding my breath.