Jump to content

Psychology of programming

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by ClaesWallin (talk | contribs) at 06:49, 5 March 2018 (Weinberg has moved his book page to leanpub.com.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The psychology of programming (PoP) is the field of research that deals with the psychological aspects of writing programs (often computer programs). The field has also been called the empirical studies of programming (ESP). It covers research into computer programmers' cognition; tools and methods for programming-related activities; and programming education.

Psychologically, computer programming is a human activity which involves cognitions such as reading and writing computer language, learning, problem solving, and reasoning.

History

The history of psychology of programming dates back to late 1970s and early 1980s, when researchers realized that computational power should not be the only thing to be evaluated in programming tools and technologies, but also the usability from the users.[1] In the first Workshop on Empirical Studies of Programmers, Ben Shneiderman listed several important destinations for researchers. These destinations include refining the use of current languages, improving present and future languages, developing special purpose languages, and improving tools and methods. Two important workshop series have been devoted to psychology of programming in the last two decades: the Workshop on Empirical Studies of Programmers (ESP), based primarily in the US, and the Psychology of Programming Interest Group Workshop (PPIG), having a European character. ESP has a broader scope than pure psychology in programming, and on the other hand, PPIG is more focused in the field of PoP. However, PPIG workshops and the organization PPIG itself is informal in nature, It is group of people who are interested in PoP that comes together and publish their discussions.

Goals and purposes

It is desirable to achieve a programming performance such that creating a program meets its specifications, is on schedule, is adaptable for the future and runs efficiently.[2] Being able to satisfy all these goals at a low cost is a difficult and common problem in software engineering and project management. By understanding the psychological aspects of computer programming, we can better understand how to achieve a higher programming performance, and to assist programmers to produce better software with less error.

Research methods

Some methods which one can use to study the psychological aspects of computer programming include introspection, observation, experiment, and qualitative research.[2]

See also

References

  1. ^ Jorma Sajaniemi. Psychology of Programming: Looking into Programmers’ Heads. Human Technology [Internet]. 2008 May 4–8 [cited 2012 Oct 4]; 4(1): Available from: http://www.humantechnology.jyu.fi/articles/volume4/2008/ge-sajaniemi.pdf
  2. ^ a b Weinberg, Gerald M. (1998), The Psychology of Computer Programming ([1]) (Silver ed.), New York: Dorset House, ISBN 0-932633-42-0 {{citation}}: External link in |format= (help)