Tomorrow’s Programming Environment

ACM Queue writes:

In his keynote address at OOPSLA ’98 (Object-Oriented Programming, Systems, Languages, and Applications), Sun Microsystems Fellow 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 control how it is processed.

This article argues that next-generation programming systems can accomplish this by combining three specific technologies:

-> Compilers, linkers, debuggers, and other tools that are frameworks for plug-ins, rather than monolithic applications.

-> Programming languages that allow programmers to extend their syntax.

-> Programs that are stored as XML documents, so programmers can represent and process data and meta-data uniformly.

These innovations will likely change programming as profoundly as structured languages did in the 1970s, objects in the 1980s, and components and reflection in the 1990s.

Published by

Rajesh Jain

An Entrepreneur based in Mumbai, India.