European Commission - US National Science Foundation
Strategic Research Workshop


Date and Location

> Rationale

Scope and Objectives



Preliminary Program

Unconventional Programming Paradigms

"Challenges, Visions and Research Issues for  New Programming Paradigms"

15 - 17 September 2004, Mont Saint-Michel, France


The imperative, functional, object and logical programming paradigms still do not have met the high expectations of the 80's and the 90's in terms of reusability, modularity, correctness, expressivity, evolution, encapsulation, portability and, at last but not least, ease of programming. For example, there is still no clear agreement on a model for parallel programs or on a programming model best suited to develop provably correct code.

At the same time, a program is no more a monolithic entity conceived, produced and finalized before being used. A program is now seen as an opened and adaptive frame, which has to face the proliferation of the hardware and software environments, the integration of the functions within the same interfaces and to incorporate dynamically services not foreseen by the initial designer. This new requirements calls for new control structures and program interactions.

Unconventional approaches of programming have long been developed in various niches and constitute a reservoir of alternative avenues to face the programming languages crisis. These new models of programming are also currently experiencing a renewed period of growth to face specific needs and new application domains. Examples are given by artificial chemistry, declarative flow programming, L-systems, P-systems, amorphous computing, visual programming systems, musical programming, multi-media interaction, etc.

These approaches provide new abstractions and new notations or develop new ways of interacting with programs. They are implemented by embedding new and sophisticated data structures in a classical programming model (API), by extending an existing language with new constructs (to handle concurrency, exceptions, open environment, ...), by conceiving new software life cycles and program execution (aspect weaving, run-time compilation) or by relying on an entire new paradigm to specify a computation.

The practical applications of these new programming paradigms prompt researches into the expressivity, semantics and implementation of programming languages and systems architectures, as well as into the algorithmic complexity and optimization of programs.

Download the presentation (in .pdf).