Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm

被引:100
作者
Burnett, M [1 ]
Atwood, J [1 ]
Djang, RW [1 ]
Reichwein, J [1 ]
Gottfried, H [1 ]
Yang, S [1 ]
机构
[1] Oregon State Univ, Corvallis, OR 97331 USA
关键词
D O I
10.1017/S0956796800003828
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Although detractors of functional programming sometimes claim that functional programming is too difficult or counter-intuitive for most programmers to understand and use. evidence to the contrary can be found by looking at the popularity of spreadsheets. The spreadsheet paradigm, a first-order subset of the functional programming paradigm, has found wide acceptance among both programmers and end users. Still, there are many limitations with most spreadsheet systems. In this paper, we discuss language features that eliminate several of these limitations without deviating from the first-order, declarative evaluation model. The language used to illustrate these features is a research language called Forms/3. Using Forms/3, we show that procedural abstraction, data abstraction and graphics output can be supported in the spreadsheet paradigm. We show that, with the addition of a simple model of time, animated output and CUI I/O also become viable. To demonstrate generality, we also present an animated Turing machine simulator programmed using these features. Throughout the paper, we combine our discussion of the programming language characteristics with how the language features prototyped in Forms/3 relate to what is known about human effectiveness in programming.
引用
收藏
页码:155 / 206
页数:52
相关论文
共 92 条
[1]  
Achten P., 1995, Journal of Functional Programming, V5, P81, DOI 10.1017/S0956796800001258
[2]   DEBUGGING WITH DYNAMIC SLICING AND BACKTRACKING [J].
AGRAWAL, H ;
DEMILLO, RA ;
SPAFFORD, EH .
SOFTWARE-PRACTICE & EXPERIENCE, 1993, 23 (06) :589-616
[3]   Formulate solution to the visual programming challenge [J].
Ambler, A ;
Broman, A .
JOURNAL OF VISUAL LANGUAGES AND COMPUTING, 1998, 9 (02) :171-209
[4]  
AMBLER A, 1987, WORKSH VIS LANG LINK
[5]  
AMBLER A, 1996, J VISUAL LANG COMPUT, V1, P159
[6]  
AMBLER A, 1999, DOBBS J AUG, P21
[7]  
[Anonymous], 1990, PROGRAMMING CONCEPTS
[8]  
[Anonymous], 1998, Operating System Concepts
[9]  
[Anonymous], 1993, WATCH WHAT I DO PROG
[10]  
Arya K., 1989, FUNCTIONAL PROGRAMMI, P382