skip to main content
article
Free access

Natural programming languages and environments

Published: 01 September 2004 Publication History

Abstract

Over the last six years, we have been working to create programming languages and environments that are more natural, or closer to the way people think about their tasks. Our goal is to make it possible for people to express their ideas in the same way they think about them. To achieve this, we have performed various studies about how people think about programming tasks, both when trying to create a new program and when trying to find and fix bugs in existing programs. We then use this knowledge to develop new tools for programming and debugging. Our user studies have shown the resulting systems provide significant benefits to users.

References

[1]
Burnett, M., Yang, S., and Summet, J. A scalable method for deductive generalization in the spreadsheet paradigm. ACM Trans. Computer-Human Interaction 9, 4 (2002), 253--284.
[2]
Green, T.R.G. and Petre, M. Usability analysis of visual programming environments: A cognitive dimensions framework. J. Visual Languages and Computing 7, 2 (1996), 131--174.
[3]
Hoc, J.-M. and Nguyen-Xuan, A. Language semantics, mental models and analogy. J.-M. Hoc et al., Eds. Psychology of Programming. Academic Press. London, 1990, 139--156.
[4]
Johnson, J.A., Nardi, B.A., Zarmer, C.L., and Miller, J.R. Ace: Building interactive graphical applications. Commun. ACM 36, 4 (Apr. 1993). ACM, NY, 41--55.
[5]
Kehoe, C., Stasko, J., and Taylor, A. Rethinking the evaluation of algorithm animations as learning aids: An observational study. International J. Human-Computer Studies 54, 2 (2001), 265--284.
[6]
Ko, A.J. and Myers, B.A. Development and evaluation of a model of programming errors. IEEE Symposia on Human-Centric Computing Languages. (Auckland, New Zealand, 2003), 7--14; www-cs.cmu.edu/~ajko/HCC2003.pdf.
[7]
Ko, A.J. and Myers, B.A. Designing the Whyline, a debugging interface for asking why and why not questions about runtime failures. In Proceedings of 2004 Human Factors in Computing Systems (CHI04). Vienna, Austria, Apr. 2004), 151--158.
[8]
Lieberman, H. The debugging scandal and what to do about it. Commun. ACM 40, 4 (Apr. 1997). Special section, 26--78.
[9]
Pane, J. A programming system for children that is designed for usability. Ph.D. thesis, 2002. Carnegie Mellon University, Pittsburgh, PA; www.cs.cmu.edu/~pane/thesis/.
[10]
Pane, J.F. and Myers, B.A. Usability issues in the design of novice programming systems. School of Computer Science Technical Report, CMU-CS-96-132 (Aug. 1996), Carnegie Mellon University, Pittsburgh, PA; www.cs.cmu.edu/~pane/tr96/.
[11]
Teitelbaum, T. and Reps, T. The Cornell Program Synthesizer: A syntax-directed programming environment. Commun. ACM 24, 9 (Sept. 1981), 563--573.
[12]
von Mayrhauser, A. and Vans, A.M. Program understanding behavior during debugging of large scale software. In Proceedings of 7th Annual Workshop for Empirical Studies of Programmers. (Alexandria, VA, 1997).

Cited By

View all
  • (2024)Programming Language Case Studies Can Be DeepElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.405.4405(56-79)Online publication date: 10-Jul-2024
  • (2024)Educational Transformation ProjectsShadow Education in Asia10.4018/979-8-3693-2952-8.ch005(55-98)Online publication date: 14-Jun-2024
  • (2024)Talking to Objects in Natural Language: Toward Semantic Tools for Exploratory ProgrammingProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690049(68-84)Online publication date: 17-Oct-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 47, Issue 9
End-user development: tools that empower users to create their own software solutions
September 2004
85 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/1015864
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2004
Published in CACM Volume 47, Issue 9

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)392
  • Downloads (Last 6 weeks)58
Reflects downloads up to 12 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Programming Language Case Studies Can Be DeepElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.405.4405(56-79)Online publication date: 10-Jul-2024
  • (2024)Educational Transformation ProjectsShadow Education in Asia10.4018/979-8-3693-2952-8.ch005(55-98)Online publication date: 14-Jun-2024
  • (2024)Talking to Objects in Natural Language: Toward Semantic Tools for Exploratory ProgrammingProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690049(68-84)Online publication date: 17-Oct-2024
  • (2023)Centering Humans in the Programming Languages Classroom: Building a Text for the Next GenerationProceedings of the 2023 ACM SIGPLAN International Symposium on SPLASH-E10.1145/3622780.3623646(26-37)Online publication date: 18-Oct-2023
  • (2023)Orchestration Scripts: A System for Encoding an Organization’s Ways of Working to Support Situated WorkProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581456(1-17)Online publication date: 19-Apr-2023
  • (2023)Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory ProgrammingProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3580919(1-23)Online publication date: 19-Apr-2023
  • (2023)A Human-Computer Collaborative Editing Tool for Conceptual DiagramsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3580676(1-29)Online publication date: 19-Apr-2023
  • (2023)Animated Vega-Lite: Unifying Animation with a Grammar of Interactive GraphicsIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2022.320936929:1(149-159)Online publication date: Jan-2023
  • (2023)Using Reactive Synthesis: An End-to-End Exploratory Case StudyProceedings of the 45th International Conference on Software Engineering10.1109/ICSE48619.2023.00071(742-754)Online publication date: 14-May-2023
  • (2022)Business Transformation and Enterprise Architecture ProjectsHandbook of Research on Applying Emerging Technologies Across Multiple Disciplines10.4018/978-1-7998-8476-7.ch005(79-121)Online publication date: 2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Magazine Site

View this article on the magazine site (external)

Magazine Site

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media