About: Extensible programming is a research topic. Over the lifetime, 2158 publications have been published within this topic receiving 46827 citations.
TL;DR: Scratch as discussed by the authors is a visual programming environment that allows users to learn computer programming while working on personally meaningful projects such as animated stories and games, and it supports self-directed learning through tinkering and collaboration with peers.
Abstract: Scratch is a visual programming environment that allows users (primarily ages 8 to 16) to learn computer programming while working on personally meaningful projects such as animated stories and games. A key design goal of Scratch is to support self-directed learning through tinkering and collaboration with peers. This article explores how the Scratch programming language and environment support this goal.
TL;DR: The author describes the development of an object-oriented C language compiler, and how it can be put to work.
Abstract: Object oriented programming departs from conventional programming by emphasizing the relationship between consumers and suppliers of codes rather then the relationship between a programmer and his code. The author describes the development of an object-oriented C language compiler, and how it can be put to work
TL;DR: A candidate list of desirable qualities for a parallel programming language is offered, and how these qualities are addressed in the design of the Chapel language is described, providing an overview of Chapel's features and how they help address parallel productivity.
Abstract: In this paper we consider productivity challenges for parallel programmers and explore ways that parallel language design might help improve end-user productivity. We offer a candidate list of desirable qualities for a parallel programming language, and describe how these qualities are addressed in the design of the Chapel language. In doing so, we provide an overview of Chapel's features and how they help address parallel productivity. We also survey current techniques for parallel programming and describe ways in which we consider them to fall short of our idealized productive programming model.