Learning to Love Code

There is a Chinese teaching originating from the Analects of Confucius, 知之者不如好之者 好之者不如乐之者。 In English, that translates to “One who is has knowledge of such is inferior to a practitioner of such. A practitioner of such is inferior to one who derives pleasure from such.” Is that to say, one who enjoys a subject will innately be more skilled that one who only participates?

I am a programmer, thus coding is the subject in this matter. I would have to admit I started off learning Java two years ago for the prestige of being able to program. That was my starting point, from gaining knowledge about Java to being a practitioner of Java. Two years and more later, I have decided to ask myself this question, do I love coding?

As I spent more time on that thought, I understood more about the teaching from Analects of Confucius. To be a practitioner of coding, you first need knowledge of coding. Thus to enjoy coding, you also need to be a practitioner of coding. Most people don’t believe they will like coding for many reasons, but that may not be true.

When I was a child, my dream was to become an inventor like Thomas Edison, a poet like Edgar Allen Poe, and a detective like Sherlock Holmes. Coding initially had nothing in common with any of the above occupations other than maybe an inventor. We slowly learnt that being able to code also meant your code will synchronize with other programmers that uses your code and when bugs occur, you better become Sherlock Holmes.

Learning more about coding, allowed me to love coding and this love makes me want to learn more about coding. It is an infinite loop like the code below:

def learn_to_code(affection_points)
 while affection_points > 0
 affection_points += 1