Novice Programmer

MAKING HAND DIRTY BY WRITING CODES

Full width home advertisement

Learn C

Novice Programmer

Post Page Advertisement [Top]


Phenomenology of programming languages

Programming language is used for solving the problems so it can be taken as a tool. Some of the phenomena of programming language as tool from the investigations of Don Ihde are:
Ø  Tools are Ampliative and Reductive
To better understand the phenomenology of programming languages, we may begin with a simpler tool. Ihde contrasts the experience of using your hands to pick fruit with that of using a stick to knock the fruit down. On the one hand, the stick is ampliative: it extends your reach to otherwise inaccessible fruit. On the other hand, it is reductive: your experience of the fruit is mediated by the stick, for you do not have the direct experience of grasping the fruit and tugging it off the branch. You cannot feel if the fruit is ripe before you pick it.
Image result for picking fruit with hand
Picking a fruit with hand
“Technological Utopians” tend to focus on the ampliative aspect- the increased reach and power- and to ignore the reductive aspect, whereas “technological dystopian” tend to focus on the reductive aspect- the loss of direct, sensual experience - and to diminish the practical advantages of the tool.
Ø  Fascination and fear is common to new tools
When first introduced, programming languages elicited the two typical responses to a new technology: fascination and fear. Utopians tend to become fascinated with the ampliative aspects of new tools, so they embrace the new technology and are eager to use it and to promote it (even where its use is inappropriate); they are also inclined to extrapolation: extending the technology toward further amplification. Dystopian, in contrast, fear the reductive aspects of the tool (so higher level language are fear for their efficiency), or sometimes the ampliative aspects, which may seem dangerous. Ideally, greater familiarity with a technology allows us to grow beyond these reactions.
Image result for fear of technology
Fear of Technology
Ø  With mastery, objectification become Embodiment
A tool replaces immediate (direct) experience with mediated (indirect) experience. Yet, when a good tool is mastered, its mediation becomes transparent. Consider again the stick. If it is a good tool (sufficiently stiff, not too heavy, etc.) and if you know how to use it, then it functions as an extension of your arm, allowing you both to feel the fruit and to act on it. In this way the tool becomes partially embodied. On the other hand, if the stick is unsuitable or you are unskilled in its use, then you experience it as an object separate from your body; you relate to it rather than through it. With mastery a good tool becomes transparent; it is not invisible, for we still experience its ampliative and reductive aspects, but we are able to look through it rather than at it.
As you acquire skill with the language, it becomes transparent so that you can program the machine through the language and concentrate on the project rather than the tool. With mastery, objectification yields (partial) embodiment.
Image result for mastery of kungfu
Ø Programming Language influence focus and action
Tools influence the style of a project. E.g. writing technologies: dip pen, an electric typewriter, and a word processor. In case of dip pen it is slower than the speed of thought, with typewriter the speed is closer to the speed of thought, and with word processor, text can be revised and rearranged in small units, so there is greater tendency to salvage bits of text.
Image result for focus and action
In general, a tool influences focus and action. It influences focus by making some aspects of the situation salient and by hiding others. Like others, programming language influence the focus and actions of programmers and therefore their programming style.

No comments:

Post a Comment

Bottom Ad [Post Page]

| Designed by Colorlib