Abstract
Programming languages are the way for a person to express a mental plan in a way that the computer can understand. Therefore, it is appropriate to consider properties of people when designing new programming languages. In our research, we are investigating how people think about algorithms, and how programming languages can be made easier to learn and more effective for people to use. By taking human-productivity aspects of programming languages seriously, designers can more effectively match programming language features with human capabilities and problem solving methods. Human factors methods can be used to measure the effects, so unsubstantiated claims can be avoided.This talk will present a quick summary of new and old results in what is known about people and programming, from areas that are sometimes called "empirical studies of programmers" and "psychology of programming." Much is known about what people find difficult, and what syntax and language features are especially tricky and bug-prone. Our new research has discovered how people naturally think about algorithms and data structures, which can help with making programming languages more closely match people's problem solving techniques.
- Pane, J., A Programming System for Children that is Designed for Usability. PhD Thesis, Computer Science Department Carnegie Mellon University, 2002, Pittsburgh, PA. Computer Science Technical Report CMU-CS-02-127. Google ScholarDigital Library
- Pane, J.F. and Myers, B.A. "Tabular and Textual Methods for Selecting Objects from a Group," in Proceedings of VL 2000: IEEE International Symposium on Visual Languages. 2000. Seattle, WA: IEEE Computer Society. pp. 157--164. Google ScholarDigital Library
- Pane, J.F., Ratanamahatana, C.A., and Myers, B.A., "Studying the Language and Structure in Non-Programmers' Solutions to Programming Problems." International Journal of Human-Computer Studies, 2001. 54(2): pp. 237--264. Google ScholarDigital Library
Index Terms
- Towards more natural functional programming languages
Recommendations
Towards more natural functional programming languages
ICFP '02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programmingProgramming languages are the way for a person to express a mental plan in a way that the computer can understand. Therefore, it is appropriate to consider properties of people when designing new programming languages. In our research, we are ...
Invited research overview: end-user programming
CHI EA '06: CHI '06 Extended Abstracts on Human Factors in Computing SystemsIn the past few decades there has been considerable work on empowering end users to be able to write their own programs, and as a result, users are indeed doing so. In fact, we estimate that over 12 million people in American workplaces would say that ...
Comments