<statement type="highly opinionated">
I don't think any human language is well-suited to "natural language programming". I don't think there is any such thing in real life.
Computer people are always saying, "Wouldn't it be great if instead of having to learn all these complex commands, you could just tell the computer what you want in ordinary [English/Russian/Swahili/whatever]!" And yeah, that would be really great. But every time they try it, what they come up with is always just another computer language with little noticeable difference from other computer languages. Well, other than being more verbose, i.e. using words instead of symbols. So instead of saying "x+=5" they say "add 5 to x". Gee wow.
I recall a program for drawing graphs that I used a few years back that boasted "natural language" to describe the graphs. It turned out that what this meant was mostly that it ignored any words it didn't recognize with no warning. They gave an example in the manual: The command to put tick marks along an axis was "tick marks on x axis" or "tick marks on y axis". And so they boasted that if you said "add minor tick marks on x axis" it would ignore the "add" and "minor". Personally I'd prefer if software told me that it didn't understand something rather than silently ignoring anything it didn't understand, because then I know that what I tried to say isn't valid rather than having to guess which part was ignored.
Right now I'm working with a tool called Django that boasts that users can design web pages without having to know any programming!!! It turns out that was this means is that if, say, you want a certain block of text to appear only when a variable called x is equal to 1, then instead of having to write a line of code in Java or Visual basic or whatever, like "if (x==1)" or "if x=1 then", instead you can do it with no code at all! Just in the HTML page write "<% if(x=1) %>". Yeah, that's not like programming at all!
I question if the idea is even possible. One of the beauties of human languages is that it allows us to communicate without having to specify every detail. We can rely on the hearer's experience and knowledge to fill in all the gaps. We can discuss things in general terms. We can discuss difficult to define concepts like "beauty" and "freedom", or for that matter "good customer".
So suppose a boss said to his marketing director, "Make me a list of our best customers who live near our main stores, and suggest some incentives we could give them to increase sales." Any good marketing person could do that. But now suppose you gave that command to a computer programmed to respond to "natural language". How could it answer? What is a "best customer"? How is that defined? What is "near"? What is a "main store"? The problem isn't that the boss forgot to give the details. It is that he wants the marketing director to use his intelligence to come up with details that make sense.
Don't even get me started on "artificial intelligence".
PS: My credentials: I've been developing software since 1980. I have published a book on database design.
</statement>