Here are a few more thoughts about the recent story of
a program that translates natural language to code. I'm coming at this from the point of view of
intelligent software agents. Since agents operate autonomously, we need to be very sure that they are programmed properly since we won't be there to notice, let alone correct any bad behavior.
I'm agnostic on the issue of what language should be used to "program" an agent, whether it be natural language, a "structured" subset of natural language, a classic programming language, AI techniques, etc. What I'm not agnostic about is that there has to be a feedback loop and intensive environment and stress simulation during the development stage, prior to deployment.
One of the valid roles of natural language is to have in-depth analysis tools that analyze the "programming" of an agent and report to the user (or "programmer") the
implications of the agent's programming. Essentially, the user needs to know what will happen when the agent goes off and "does its thing". Not the details, but the behavioral effects. Simulated scenarios are essential, but the natural language feedback is just as essential. Graphical or quantitative feedback can also be valuable, but natural language feedback will be the absolute core requirement.
Natural language also has a sterling role to play for reporting results of software agent execution.
Imagine it... send your software agent out to snoop around, and then have it tell you in simple natural language what it saw on its journey.
Natural language also has a role for enabling agents to query the client in situations where guidance is required. Whether natural language can be used as an input at that stage is an open-ended question, but the software can certainly frame questions that can be answered in a more rudimentary manner.
--
Jack Krupansky