Tuesday, 28 January 2014

The Challenge of Learning Programming

Computer languages, like any language that a person tries to learn, is about understanding the principles and the "most correct" ways of implementing them.  One can make a comparison between learning Latin and learning Python, for example.

Latin requires a structure whereby the particular verb placement marks clauses, and the bracketing of subordinate clauses by markers on either side help you read an unfamiliar language with no punctuation to help you.

Python requires understanding where you can place elements (and in which order you must do so), and a system of objects and methods, so that the end result of a program is achieved.

  • Both require that the "author" understand the totality of the syntax and the object/word function that they are trying to implement, to create a system of problem solving strategies.
  • Both require that the author be able to understand their instructions, and select the key words to be used for designing a linguistically sound statement around
  • Both will end up needing the author to think beyond what they have been told explicitly, and to determine the strategies necessary to accomplish an end goal by their understanding of the elements.
The last point is possibly the hardest obstacle for programmers to accomplish.  Being able to outline an efficient method is one thing, but being able to extrapolate a program design from general directions/instruction is going to make the difference between basic comprehension and applicable, creationist understanding.

No comments:

Post a Comment