12. A computer-implemented method for controlling a program by natural language commands, the method comprising: providing a list of natural language commands, each natural language command being associated with one or more commands of the program; generating a graphic user interface to receive inputs from a user, the graphic user interface comprising a filter field for entering characters and a list field for displaying natural language commands; receiving a plurality of n inputs from the user, entered in succession, wherein each of the number of n inputs corresponds to a character entered in the filter field; creating a subset of natural language commands comprising only those entries from the list of natural language commands having n or more words, wherein the respective first character of the first n words match the n inputs from the user; displaying the subset of natural language commands in the list field; enabling the user to select one of the natural language commands from the subset of natural language commands displayed in the list field; and causing the program to execute a command in response to the user's selection of a natural language command.
12. A computer-implemented method for controlling a program by natural language commands, the method comprising: providing a list of natural language commands, each natural language command being associated with one or more commands of the program; generating a graphic user interface to receive inputs from a user, the graphic user interface comprising a filter field for entering characters and a list field for displaying natural language commands; receiving a plurality of n inputs from the user, entered in succession, wherein each of the number of n inputs corresponds to a character entered in the filter field; creating a subset of natural language commands comprising only those entries from the list of natural language commands having n or more words, wherein the respective first character of the first n words match the n inputs from the user; displaying the subset of natural language commands in the list field; enabling the user to select one of the natural language commands from the subset of natural language commands displayed in the list field; and causing the program to execute a command in response to the user's selection of a natural language command. 28. The method as in claim 12 , wherein the step of executing an entry from the subset of natural language commands is performed automatically when the subset of natural language commands consists of one entry.