Currently the best programming language I have come across is the Wolfram Language, this is because of the level of abstraction it has been built to. While other programming languages like Java and C++ tie you up in the specifics of language design, The Wolfram language takes you far away from the specifics of any machine or language mechanisms and enables you deal with computation in a raw and unbiased form. Although the wolfram language still requires you to formulate problems in a way that is compatible with the standard computation works, it tries its best to free you from thinking about the specifics of how a particular problem should be solved.
In the future programming will be mainly about formulating questions and not about designing mechanisms of how to solve problems using the principles of computation. Newer programming languages in the future, with a powerful AI engine will be able to work with the human programmer in a way that no current programming language can, stating a problem in as clear a form as possible will be the number one requirement. The language will basically be a problem description language and the programming system backed by a powerful AI engine will go ahead using all the resources at its disposal to solve the problem.
Solving a problem on a computer in the future will be an interactive affair as the problem is stated, the programming engine will ask questions that will enable it refine the solution to the problem and the programmer will follow the Q/A session drilling down to the essentials of the problem until a solution that suits the programmer is obtained. The tower of abstraction staring with Assembler and right up to Java and eventually the wolfram language has not been completed, there is still a lot of work to be done.