banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

What detours might one encounter during the process of learning programming, and what experiences can be referred to?

In the process of learning programming, I have encountered many detours. Some detours are short, like taking a walk, and you can come out immediately. It is a good thing to gain some experience. Some detours are like a series of difficult turns, even experienced programmers can easily crash. But there are also some detours that are even more terrifying. The first half is straight, but the second half suddenly takes a big turn. You may think you are walking on the right path, but in fact, you are going in the opposite direction without realizing it.

One "invisible detour" that I know of is learning programming with a student's mindset.

image

  1. Taking Notes vs Writing Technical Tutorials
    In our years of studying, the process of acquiring knowledge usually involves the following steps: studying the tutorial examples given in textbooks, practicing the exercises after class, and repeating this process until passing the exams.

Many people with a student mindset tend to apply this learning method to programming: learning the basic syntax, practicing a few small tutorial examples, and repeating this process until they think they have mastered programming.

In the process of learning programming, the habit of taking notes while reading books has turned into copying code, including variable names, whether to break lines in if statements, and completely copying function names from the examples in the book.

It is undeniable that copying code in the early stages is a good way to get started. Successfully running the code each time greatly enhances confidence in learning programming. However, simply copying code is obviously not a rational behavior and needs to be adjusted to writing technical tutorials.

When you write technical tutorials yourself, you will inevitably review the entire process and even personally perform the operations again. It is easy to discover the omissions in the previous learning process. In order to understand them, you will search for relevant materials and supplement your knowledge.

Furthermore, since the technical tutorials you write are published online, in order to make them understandable and recognized by more people, you will definitely try to explain them as clearly as possible. In the process of explaining clearly, you will have a more comprehensive understanding of the knowledge you have learned.

  1. Fear of the Unknown vs Acceptance of the Unknown
    During our student days, we were always eager to learn and tried our best to understand all the difficult problems. Students are afraid of the unknown, afraid of all uncertain problems. They don't know which scope the problem belongs to, and once they can't find a direction for the problem, they will always be in a state of anxiety.

Due to the limited scope of the content we learn, we can always find clear answers through books, classmates, teachers, and the internet, even if we can't understand them, we know clearly which specific scope the knowledge point belongs to, and it's just that we can't solve the problem ourselves.

But programming is different. Many programming problems have no solutions, and no one knows how to solve them.

In order to learn programming well, we must tolerate a certain degree of unknowns.

The unknown will always exist. This is an objective law of reality that cannot be changed by human will. It is futile to struggle against objective reality.

Furthermore, some unknown things are unsolvable. Investing time and energy into unsolvable things is a waste. Some unknown things are due to insufficient knowledge reserves at the moment, and we need to endure the unknown for a while, grit our teeth and persist in learning the content behind it in order to find the answers.

  1. Following a Set Plan vs Constantly Reflecting
    The content in textbooks progresses step by step. If you haven't mastered the previous content, you won't understand the later content at all.

Due to the existence of unknowns, there are always some problems that will hinder us in the process of learning programming. What we need to do is to record them first, then set them aside, continue to move forward, continue to learn new knowledge, practice new skills, and explore new fields, constantly accumulate and grow. In the future, occasionally go back and review them. Maybe when you learn a new knowledge point, practice a new skill, or explore a new field, you will suddenly have a clear understanding: Oh, so that's how it is.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.