Practice of Programming
It is somewhat debatable what the practice of programming exactly is, but the craft aspect of it is very strong. Some thoughts about programming:
- It is the task of creating programs that make the computer behave the way we want.
- As it requires tools and the use of those tools guided by the experience of master programmers, it is a craft.
- As it involves solving problems under constraints, it is engineering.
- It is very fun and satisfying.
- It is not a fine art, but as much as it's possible in anything that humans do, programs can be works of art.
- It is not a science, but the methods that it uses are created by computer science.
Programming can be hard to learn and teach
Programming has been taught since the 1950s. There hasn't been an efficient or successful teaching method developed yet.
Unfortunately, learning to program can be a difficult task for roughly half of all students. According to a research paper, the ones who can learn programming easily are those who are able to create consistent models to describe the unknown situations that they face.
Some of the difficulty in programming comes from the amount of technical details that need to be learned.