Natural Programming: Project Overview and Proposal

Abstract

End-users must write programs to control many different kinds of applications. Examples include multimedia authoring, controlling robots, defining manufacturing processes, setting up simulations, programming agents, scripting, etc. The languages used today for these tasks are usually difficult to learn and are based on professional programming languages. This is in spite of years of research highlighting the problems with these languages for novice programmers. The Natural Programming Project is developing general principles, methods, and programming language designs that will significantly reduce the amount of learning and effort needed to write programs for people who are not professional programmers. These principles are based on a thorough analysis of previous empirical studies of programmers, as well as new studies designed to discover the most natural programming paradigms. Our proposed research is to extend these results, and apply them to different domains. The result will be new programming languages and environments that are demonstrably superior for users.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1998
Accession Number
ADA339056

Entities

People

  • Brad A. Myers

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Autonomy

DTIC Thesaurus Topics

  • Basic Programming Language
  • Cognitive Systems Engineering
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Human-Computer Interaction
  • Human-Machine Interaction
  • Language
  • Programming Languages
  • Psychology
  • Scripting Languages
  • Software Development
  • User Interface
  • Word Processors

Fields of Study

  • Computer science

Readers

  • Artificial Intelligence
  • Organizational Process Management (OPM).
  • Parallel and Distributed Computing.

Technology Areas

  • AI & ML
  • AI & ML - Machine Translation
  • Autonomy
  • Autonomy - Autonomous System Control