In Summary:
Each successive generation of programming language takes the user farther from the language of the computer.  The advantage to this is that the user requires less training and works in a more intuitive environment with the higher-level languages.  The higher languages can be more powerful because of this.  However, the trade off is in terms of speed of execution and ability to directly manipulate the computer.  In the future, it is possible that many users will program in environments where the interface is WYSIWYG and the computer writes the program itself.