Via Andres Aguiar I stumbled into one of the most insightful articles I've read in the last couple of months: Language Oriented Programming, The Next Programming Paradigm, written by Sergey Dmitriev of Jetbrains.
All I can say is: read it. Again and again and again. It brilliantly describes one of the biggest problems of today's software engineering: that there is no (or at most weak) connection between what we're intented to develop and what's actually developed; you need to reverse engineer the code written to understand which functionality it represents, while it should be that what you intended (i.e. the functional description of what you want to develop, the concept) is projected onto the programming language in such a way that it is as close to a 1:1 projection as possible, so you can find back implementations of pieces of functionality fast and easy and also that you can find back the theoretical base for a piece of code in the functional description fast and easy.
It will be a long road, but as long as enough developers be convinced of the fact that solving this problem is the only way to reach the ultimate goal: having 100% reliable, bugfree and maintainable software, large software vendors like Microsoft will perhaps begin developing the required tools to make this step forward.