I think are a great many cases where it is much easier to express certain operations graphically, as opposed to in code or through a plain-text description. I think the recognition of this gap is one reason for the development of Wolfram SystemModeler (here's an article by Stephen Wolfram saying more
about the variety of interfaces and how they fit together). The interesting thing about SystemModeler is how it exploits the similarity between the fixed topologies expressed by graphical diagrams and the fixed relations of equations in engineering components. What this says to me is that graphical interfaces might most readily be used to express invariant relations between mathematical structures, rather than more procedural processes, and that functions could take such diagrams of equations as inputs. In this way, I imagine the current interplay between SystemModeler and Mathematica might be the prototype of the inteplay between graphical and functional processing to come.