This article argues that next-generation programming systems will accomplish this by combining three specific technologies: compilers, linkers, debuggers, and other tools will be plugin frameworks, rather than monolithic applications; programmers will be able to extend the syntax of programming languages; and programs will be stored as XML documents, so that programmers can represent and process data and meta-data uniformly.