Alternative programming interfaces for alternative programmers

  • Authors:
  • Toby Schachman

  • Affiliations:
  • New York University, Interactive Telecommunications Program, New York City, NY, USA

  • Venue:
  • Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper seeks to broaden the view of what programming is, who programs, and how programming fits in to larger systems. With growing frequency, people are approaching programming from unlikely backgrounds such as the arts. Often these new programmers bring with them ways of working which are incompatible with mainstream programming practices, but which allow for new possibilities in programming interfaces. This paper makes suggestions for the design of these new programming interfaces. It presents as a case study and demonstration Recursive Drawing. Recursive Drawing is a reimplementation of the textual programming language Context Free as a graphical, directly manipulable interface. Instead of a compiler or interpreter, Recursive Drawing's programming interface is modeled as a constraint solver. This allows the programmer to modify the program's source code by manipulating the program's output. Additionally, the design of the interface focuses on program transformation, rather than program construction.