The Future is Intentional

@article{Simonyi1999TheFI,
  title={The Future is Intentional},
  author={Charles Simonyi},
  journal={Computer},
  year={1999},
  volume={32},
  pages={56-57}
}
beginning to understand that simplicity is required for reli;ibility. The big wads of software that we have grown used to might be replaced by small, simple components that do only what they need to do and can be combined together. It’s a move from the Baroque to a Bauhaus style, and one I think we all need to embrace and encourage. Part of this revolution is a trend toward languagebased systems. I t used to be that the language you used to develop a system or component was an accidental… 

Scaling language specifications to mainstream languages and real-world applications ?

Two characteristics of language specification tools that support their use at scales beyond small prototypes are described: the ability to both explicitly and implicitly (via translation) specify the semantics of language constructs and the use of modular analyses on language specifications to guarantee that their eventual composition will have certain well-definedness properties.

Managing Intent : Propagation of Meaning During Model Transformations

This paper philosophically discusses the root causes of transformations, specifically the syntax and semantics changes that require MDA-like transformations between modeling languages.

Flexible and Extensible Notations for Modeling Languages

A flexible modeling language framework by which language and tool developers may better meet the special needs of various users groups without incurring prohibitive costs is described and a prototype implementation of such a framework is shown.

Towards Multi-Paradigm Software Development

A survey of selected recent software development (programming) paradigms and multiparadigm approaches and shows that there are two meanings of paradigm: large-scale and small-scale.

Data refinement by rewriting

A new notion of the transform, a parametric specification form suitable for automatic application and composition of transformations, is introduced, which may be reusable in that it can be applied several times to different variables in the same program or other programs.

User-Extensible Simplification - Type-Based Optimizer Generators

This paper presents an extended case study of one component of a C++ compiler, the simplifier; discusses the design decisions of a new simplifier (simplifier generator) and its implementation in C++; and gives performance measurements.

A debate on language and tool support for design patterns

The authors compare and contrast programming languages, tools, and patterns to assess their relative merits and to clarify their roles in the development process.

Variability Modeling in the Real

The aim is to support variability modeling research by providing empirical evidence for the actual use of its core modeling concepts, by identifying and characterizing further concepts that have not been addressed in the literature, and by providing realistic assumptions about scale, structure, content, and complexity of real-world variability models.

Adding Syntax and Static Analysis to Libraries via Extensible Compilers and Language Extensions

It is demonstrated how syntax and analysis are added to a language by extending Java with syntax from the query language SQL and static analysis of these constructs so that syntax and type errors in SQL queries can be detected at compile-time.