1. 4
  1.  

  2. 4

    TL;DR Programming looks very much like talking from Neuro Imaging

    1. 4

      Thank you, I find this article to be more interesting.

      To see what happens in the brain during this process, the team used a functional magnetic resonance tomograph. The image data clearly showed that the test subjects’ left brain areas were activated, which are mainly associated with speech comprehension. “To our surprise, we could not observe any activity in the direction of mathematical or logical thinking,” said the researcher summarising the results. “Our research suggests that speech understanding plays a central role in programming. The renowned Dutch computer scientist Edsger W. Dijkstra already expressed this assumption in the 1980s,” Apel adds.

      It’s the second time I hear about this idea. Anecdotal evidence around me seems to support it. I know very competent programmers that had mental blocks about mathematics. All competent programmers I know however are talented at writing and expressing themselves.

      In my opinion literacy and linguistic talent is a better predictor about the quality of the programming output of a person. I think because understanding algorithms and data structures is an important part, but even more important is communicating with your peer, and writing good quality code is all about communicating intent to other people in your team.

      1. 1

        Indeed, I agree about program comprehension; However, I wonder if the same can be said about writing a new program. That is, if you are asked to implement a new algorithm from scratch, would it still light up the speech processing parts of the brain. Going the reverse; if one is trying to understand a mathematical paper, would the logical parts of the brain still light up?

        1. 1

          In my opinion literacy and linguistic talent is a better predictor about the quality of the programming output of a person. I think because understanding algorithms and data structures is an important part, but even more important is communicating with your peer, and writing good quality code is all about communicating intent to other people in your team.

          Ultimately, programming is a form of communication, and art. Knuth argues that here. You need to be able to understand your own thoughts well enough to put them down in a medium, which is fundamentally a form of art. It’s a dialogue between yourself, it’s a dialogue with the platonic idea-space, and it’s a dialogue with the computer, it’s systems, and other people who read it. There’s room for process, but that does not deny that fundamentally it has an artistic component that we as a field, constantly ignore, that we stifle. The more we regard programming as a mechanical endeavour, or as a scientific endeavour, the more we deny and devalue our own independence, skill, proficiency, and the work itself. Attempts to ‘codify’ programming will fail, without that acknowledgement.