Things are too quiet lately, so maybe its time to start a fun thread. I used this question as a lead in to a presentation on live programming I recently gave at a working group, but I thought it would be fun to gather a bunch of predictions if anyone is willing.
What will programming look like in 2020? Keep in mind that programming in 2012 mostly resembles programming in 2004, so could we even expect any significant changes 8 years from now in the programmer experience? Consider the entire programming stack of language, environment, process, libraries, search technology, and so on.
I predict that application servers will be the common way of developing apps. You'll abstract most applications with a DSL, structured of applets or formlets operating on an abstract client API. The same app can then be 'compiled' and served to multiple mediums - as a web-page, an android app, a Chrome app, or even a desktop app. This technique will enable portability, efficiency. With careful design of the DSL, it can also support occasionally-offline apps, runtime upgrade (and live programming), efficient caching, implicit synchronization of client data, and secure mashups (including ads).
The DSLs in question could be embedded or external, and there will probably be many competing variations in many host languages.