structured language > purpose-specific UI > natural language (processing)
Old adventure games were really illuminating with respect to limitations of natural language interfaces. Rather than allowing for the expressiveness of natural language, you simply had the feeling of groping around like a blind child at an easter egg hunt for the few valid operations that existed.
I feel like this using GUI tools for data tasks. It's like being forced to communicate by banging rocks together compared to, say, the expressive power of R or Python.
I wonder if natural language interfaces could leapfrog GUIs if we all up and learned something like Lojban...