The Competence/Performance Dichotomy in Programming

We consider the problem of automating some of the duties of programmers. We take as our point of departure the claim that data management has been automated to the point where the programmer concerned only about the correctness (as opposed to the efficiency) of his program need not involve hi...

Full description

Bibliographic Details
Main Author: Pratt, Vaughan R.
Language:en_US
Published: 2004
Online Access:http://hdl.handle.net/1721.1/5775
_version_ 1811089328136257536
author Pratt, Vaughan R.
author_facet Pratt, Vaughan R.
author_sort Pratt, Vaughan R.
collection MIT
description We consider the problem of automating some of the duties of programmers. We take as our point of departure the claim that data management has been automated to the point where the programmer concerned only about the correctness (as opposed to the efficiency) of his program need not involve himself in any aspect of the storage allocation problem. We focus on what we feel is a sensible next step, the problem of automating aspects of control. To accomplish this we propose a definition of control based on a fact/ heuristic dichotomy, a variation of Chomsky's competence/performance dichotomy. The dichotomy formalizes an idea originating with McCarthy and developed by Green, Hewitt, McDermott, Sussman, Hayes, Kowalski and others. It allows one to operate arbitrarily on the control component of a program without affecting the program's correctness, which is entirely the responsibility of the fact component. The immediate objectives of our research are to learn how to program keeping fact and control separate, and to identify those aspects of control amenable to automation.
first_indexed 2024-09-23T14:17:28Z
id mit-1721.1/5775
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T14:17:28Z
publishDate 2004
record_format dspace
spelling mit-1721.1/57752019-04-11T04:54:26Z The Competence/Performance Dichotomy in Programming Pratt, Vaughan R. We consider the problem of automating some of the duties of programmers. We take as our point of departure the claim that data management has been automated to the point where the programmer concerned only about the correctness (as opposed to the efficiency) of his program need not involve himself in any aspect of the storage allocation problem. We focus on what we feel is a sensible next step, the problem of automating aspects of control. To accomplish this we propose a definition of control based on a fact/ heuristic dichotomy, a variation of Chomsky's competence/performance dichotomy. The dichotomy formalizes an idea originating with McCarthy and developed by Green, Hewitt, McDermott, Sussman, Hayes, Kowalski and others. It allows one to operate arbitrarily on the control component of a program without affecting the program's correctness, which is entirely the responsibility of the fact component. The immediate objectives of our research are to learn how to program keeping fact and control separate, and to identify those aspects of control amenable to automation. 2004-10-01T20:36:40Z 2004-10-01T20:36:40Z 1977-01-01 AIM-400 http://hdl.handle.net/1721.1/5775 en_US AIM-400 18 p. 5144369 bytes 4037011 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Pratt, Vaughan R.
The Competence/Performance Dichotomy in Programming
title The Competence/Performance Dichotomy in Programming
title_full The Competence/Performance Dichotomy in Programming
title_fullStr The Competence/Performance Dichotomy in Programming
title_full_unstemmed The Competence/Performance Dichotomy in Programming
title_short The Competence/Performance Dichotomy in Programming
title_sort competence performance dichotomy in programming
url http://hdl.handle.net/1721.1/5775
work_keys_str_mv AT prattvaughanr thecompetenceperformancedichotomyinprogramming
AT prattvaughanr competenceperformancedichotomyinprogramming