Do you prefer to act, think of feel when you program ?

temps estimé pour lire ce billet : 2 minutes

This post of @jessitron on the opposition of lambda calculus and Turing Machine, opposing Academy and Engineering, got me thinking on memory and abstraction … Here is the story telling, out of my Lateral thinking , to be followed on the below #Sketchnote:

  • (I am in the train) It is dark, I perceive something looking like a lamp and I want to have my neighbor act on it .
  • But I cannot, because this perception is just in my « head ». and the lamp is too far..
  • Well, maybe he (my neighbor) speaks the same language than me, and I can ask him ? Hm…

In fact, I can re-cognize what I see, this is a lamp, which I pattern-match it to the other lamp I saw before in my memory…

I can associate it to the generic concept of « light », and I have a word for this . I can now ask my neighbor, who is just sitting next to the lamp, if he is kind enough to switch it on, please, so I can see the light …

turing machine lamba calculus and feelings

Memory & Pattern-Match -> Model -> Share

This memory I use for pattern matching, is mine . It is personal. It is the sum of my experiences . I cannot share it.
but I can think, and abstract, i.e. build model out of (perceived reality). this is still internal to me.
However, these Models, I can dump them on paper and share them, like the above #sketchnote, or use words,like the one you are reading, which are « shared » shortcuts for sharing concepts, pointers to shared models.

Like many humans, I have preference. and when learning, I may prefer to learn by creative tinkering, learn by abstract and thinking, or learn by feeling and sharing. Maybe It is due to my preference to Action, Thinking, or Feeling .

So, when I will be a grown up, I may choose to be a tinkering Engineer, or thinking in Academic , or share my feeling about ideas..

And if I am in IT, my preferred style could be the State and action style of Imperative programming, or .. the abstract declarative style of Functional Programming… not sure about feeling thought..

But regardless of preference, I can do all of them. Of course, I tend to do most the things I prefer. But, if I want to share and reuse these ideas out of my head, and feel good about it, I better have models I can share ….

(this is what got me crossed my mind when reading) :

NAUR 1986: The primary result of programming is the theory held by the programmers

  1. Theory: The knowledge a person must have to do certain things intelligently, explain, answer queries, argue about them…
  2. The programmer must Build a Theory of how certain affairs of the world will be handled by a program; Explain how the affairs of the world are mapped into the program and documentation; Respond to demands for modifications, perceiving the similarity of the new demand with the facilities built.
    • This knowledge transcends that possible in documentation.
  3. This theory is the mental possession of a programmer; the notion of programmer as an easily replaceable component in program production has to be abandoned.

Naur86 quoted by Cockburn98 in [1]

1 Slide 10

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *