We are doing OK in human language recognition as well as understanding in simple dialogue frames. The technology is also moving awfully fast at the moment. You are thinking in terms of human level intelligence, but it really doesn't have to be that good. It only has to provide enough random-but-feedback guided choices until the user finds what they are really looking for.
Put it this way: if the user could get what they wanted from the computer directly just by "searching", the process would be more efficient since the most inefficient part about programming is human-to-human communication and coordination.
As far as code goes, we've already solved the problem of modeling the structure of any programming language with an implementation. That's not the hard part.
That's because users don't know exactly what they want. They know it when they see it, but they don't know how to explain it. They expect the engineers to guide them through to their idea.
But as per example above, that could be done by an app - guiding a user from nothing to whatever he wants by interactively experimenting with features.
Think of a REPL with access to a huge number of libraries, which is searchable by voice input.