Wednesday, May 26, 2004

The Future of Programming



another gem from slashdot:

Extensible Programming for the 21st Century

In his OOPSLA'98 keynote Growing a Language [Steele], Guy L. Steele Jr. said, "From now on, a main goal in designing a language should be to plan for growth." Functions, user-defined types, operator overloading, and generics (such as C++ templates) are no longer enough: tomorrow's languages must allow programmers to add entirely new kinds of information to programs, and to control how that information is processed.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.
These innovations will change programming as profoundly as structured languages did in the 1970s, objects in the 1980s, and components and reflection in the 1990s. To see why, we must first examine the shortcomings of the systems programmers use today. We begin with two of the most popular: the Unix command line, and Microsoft's Component Object Model (COM).

more ...

egads. this is a rather sweeping pronouncement. i haven't had time to wade through the slashdot thread about this paper. i will have to do so at some point.

No comments: