A couple of days ago I read a blog post by Stephen Ramsay, a professor at the University of Nebraska-Lincoln and a Fellow at the Center for Digital Research in the Humanities. In it, he mentions that he has all but abandoned the GUI and finds the command line to be "faster, easier to understand, easier to integrate, more scalable, more portable, more sustainable, more consistent, and many, many times more flexible than even the most well-thought-out graphical apps." I found this very thought-provoking, because, like Ramsay, I spend a lot of time thinking about "The Future of Computing," and I think that the CLI, an interface from the past, might have a place in the interface of the future.

"But if everyone uses GUI nowadays, it's not just because they are too stupid to understand CLI. GUI can present multidimensional information much more easily, and the user can interact with it very intuitively. Think about Google Map on a touch based device, how do you do that in CLI?"

But for interacting and manipulating that information, some people may still prefer a CLI. Using your example, let's suppose we have a command line tool to query google maps (allow me to making this up as we go along):

select concat(a + b + c) from roads a, flights b, roads c where a.orig='...' and c.dest='...' order by concat(a+b+c+d).distance and b.fair<150 order by time

Clearly we'd need to rethink the sql metaphor, but the point is this would be incredibly powerful. We could write very complex queries to implement use cases which the GUI designers had never anticipated (or would have found too difficult represent visually).

Would this CLI have a large learning curve? Absolutely, but those who learn it would have so much more power over the information at their hands.

Edit: Just to clarify, my use of "CLI" here is refers to a command oriented interface, whether or not the interface is part of a larger GUI.