I think they can be called "soft interfaces" or "heuristic interfaces", it's an example of machine learning. I think it's not easy to apply such idea to a statically typed language, but probably it can be done on Java. I presume in the future GUI will learn more about the usage patterns of their users, data structures of long- running programs will adapt to their average usage in each specific point of the program, and maybe class interfaces too will become smarter, as you say :-) I think your idea can be implemented in Python too, so you just have to try to use it in some project of yours developed with some Agile programming style, so you can tell us if it's nice to use :-)
Bye, bearophile -- http://mail.python.org/mailman/listinfo/python-list