Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are some good peer-reviewed papers on psychology of programming?
50 points by mmczaplinski on June 13, 2016 | hide | past | favorite | 14 comments
What I mean by "psychology of programming" is broadly the application of psychological methods to understanding the process of programming. What are some interesting empirical results of such research?

Some examples of the kind of research I would be looking for: - What are some key factors that affect comprehension of programs? How would those factors differ within each programming paradigm? - How much of a measurable impact does a particular syntax of a programming language (e.g. python vs. lisp vs. C-style) have on program comprehension? - Is there good empirical evidence that particular programming no-no's (GOTOs, global variables, etc.) actively hinder program comprehension?

I'm not necessarily interested in answers to those particular questions - I could obviously google for specific answers to specific questions. Instead, I would ideally like to know if there exist good meta-analyses which would aggregate findings in broader areas of said research and serve as starting points for further investigation.

Thanks!




The semi-infamous paper "The Camel Has Two Humps" remains a pretty interesting study on teaching programming. It's not exactly what you're asking about, but it has relevance in terms of identifying cognitive patterns that are tied to good comprehension of software.

It has been retracted, but the retraction applies only to the grander claims made based on the results. The experimental results have been replicated several times, and to my knowledge have not failed replication in meaningful ways. (One study, for instance, found "no effect" because the cohort scored ~100% on the assessment questions, which means any useful variance was above the test ceiling.)

You can find the paper here (http://wiki.t-o-f.info/uploads/EDM4600/The%20camel%20has%20t...), a good-if-overzealous discussion here (https://blog.codinghorror.com/separating-programming-sheep-f...) and the pseudo-retraction here (http://www.eis.mdx.ac.uk/staffpages/r_bornat/papers/camel_hu...).


The answer is "Yes" and Google is your friend here. Highly relevant queries with high quality top hits are:

[software engineering research] [psychology of programming] [empirical research on computer language productivity] [empirical research on programming methodology effectiveness]


Advising people on more-relevant queries like this is super useful and I wish I saw it more often.


I agree. There are a number of times I don't know the correct phrases to dig deep in google. Especially when I started programming.


also using Google Scholar! Just be sure to make sure on [x] Peer Reviewed


This is a topic I researched a long time ago. I don't trust my memory enough to summarize any findings or recommend specific papers, but here are a couple of bookmarks I've kept around:

- http://www.cl.cam.ac.uk/teaching/1011/R201/

- http://www.ppig.org/

If you're designing a programming language or programming tools, another resource that I've found helpful is this collection of syntax choices across languages:

- http://rigaux.org/language-study/syntax-across-languages/



This is the 'Classic' in the field, as I believe it was the first book that talked about the 'human' side of software/programming. Although the references are quite dated in every way we do software engineering today in specific, the general principles remain.

Incidentally, Weinberg is a prolific author. https://goo.gl/Erp84w I especially like his General Systems Thinking.


Interesting that he was a systems theory guy. My dad was a civil/mechanical engineer and was way into systems theory in the 60s and 70s. The idea, from what I've gathered, is to apply an engineer's toolkit to natural / social science problems. I've got a couple of his old (way out of print) books on systems theory and they're fascinatingly relevant to software development -- particularly for big complex distributed systems. They had to deal with poorly specified problems, emergent behavior, "fuzzy" logic, failure, etc. All problems you face in a real complex software system. These ideas don't get enough press.


This is an excellent book.


Andreas Stefik, Susanna Siebert, Melissa Stefik, and Kim Slattery: An Empirical Comparison of the Accuracy Rates of Novices using the Quorum, Perl, and Randomo Programming Languages. PLATEAU 2011.


I highly recommend reading (Studying the language and structure in non-programmers’ solutions to programming problems (2001))[http://www.cs.cmu.edu/~pane/ftp/PaneRatanamahatanaMyers2001....]

Basically they ask a bunch of non programmers to describe how a computer should do discrete tasks in PacMan. They also cite a number of older but relevant papers on this topic.


> Ask HN: What are some good peer-reviewed papers on psychology of programming?

> Ask HN: What are some good peer-reviewed papers on psychology of programming?

> Ask HN: What are some good peer-reviewed papers on psychology of programming?

Xc cv c c cv cv cv cv c cv cv cv ccv cv cv cv


If this is an area of interest to work in professionally, send me an email. We're looking at a lot of the same things.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: