Why is programming so hard?
Thursday, 18 October 2007 20:43 GMT
AVINASH, here’s a blog that will surely interest you about the apparent difficulty in learning to program. Is it that some people cannot formulate algorithms? Or, is it the programming language that makes it so difficult? The author tries to answer these questions.
The author also mentions the 20% Rule, whereby 20% of students easily understand programming and 20% are hopeless cases. Does this mean that the remaining 60% are average programmers? Does a similar proportion exist among professionals?
Eddy.
Popularity: 20% [?]
Possibly related:
3 Comments
RSS feed for comments on this post. TrackBack URI
Leave a comment
Powered by WordPress and Eddy Young.
This is a very good question.
Personally, I had a hard time at the beginning when I was learning programming. But, once I “got it” things started to become easier. The programming language definitely played a very important role.
Some studies (Psychology field) have shown that bilingual people think differently depending in what language they are thinking. For example, Chinese students think in a certain way when they think in English and in a different way when they think in Chinese. I believe this might explain why someone who has not yet mastered a new (programming) language is having difficulties thinking in this same language.
My belief was strengthened even more when I watched how different users use Crystal Reports, one of the most popular report writing software. Those how have good programming knowledge tend to use Crystal Reports (and Crystal syntax) more efficiently than those who don’t, because they cannot think in “Crystal Reports” language.
Spoken language to programming language is similar to translating from one language to another. Those who know both languages will do a better job than those who don’t.
That being said, I may well be totally wrong, but this has been my observation so far.
Comment by Patrick Ng — Saturday, 20 October 2007 01:29 GMT #
Hi Eddy,
Mark Guzdial writes:
“At our CS Ed Research seminar last week, Brian Dorn suggested another one. It’s the specificity of a program, the need for exactness when our natural world allows for ambiguity. Natural language did not evolve to specify video games or algorithms. Natural language evolved to allow interaction between thinking beings. Programming languages are about specifying a process to a machine. Dorn’s hypothesis would say that the problem of Commonsense Computing Researchers and John Pane is that what we describe in natural language is necessarily ambiguous, and the process of getting it exactly right for the machine is the hard part.”
Now that I’ve read that, I also believe this is the main reason why programming is hard for most people: programmers have to be 100% precise!
100% precision is something that most people cannot attain. Only those who really think precisely (i.e. like a programmer) find programming easy. The rest struggle.
Incidentally, this paper by Saeed Dehnadi and Richard Bornat, seems to prove that there is a ‘double hump’ distribution instead of a normal distribution among students learning to program. This seems to imply that some students will never ever learn programming whatever effort the teacher does.
Comment by Avinash Meetoo — Saturday, 20 October 2007 22:50 GMT #
Interesting, indeed.
The “double-hump distribution” blows away the theory that there are only those who get it and those who don’t.
–Eddy
Comment by Eddy — Sunday, 21 October 2007 08:08 GMT #