We are not going to talk about programming stuff like we used to do in this post. Instead let's talk about how we learn stuff.
Here is some of my understanding of learning that I think share with most of the people around the world. The first one is Pattern Recognition, another one is First Principle. When we learn something new we most certainly will use these techniques.
What is Pattern Recognition? Here is the definition from Wikipedia. Another version of definition based on my experience will be the ability that you can establish some familiarity with the stuff you learn.
For example, let's say you are learning spanish. Which one will be easier to learn spanish, one who knows english already or one who knows chinese.
You will probably say of cause the one with the knowledge of english already. And why's that? Cause most of the time spanish and english share a lot of taits etc, at least if you compare it to chinese.
So that means the reason, why people who know english already have a more comfortable background to learn spanish, is Familiarity.
Fair enough. It totally makes sense we will learn something from the existing knowledge we have. In programming, that is why we have DRY principle.
But is Familiarity enough for us to learn everything?
Here is the long-ass definition of First Principle. And based on my understanding, First Principle comes from a more complicated root. Like the example we mentioned before when people who know english will have a better background to learn spanish since the familiarity.
But where is english originated from? Anglo Frisian? Then where is Anglo-Frisian originated from?
If we keep going down to the root you will find the ability of First Principle.
Remember this stuff all have their own origin which is created via First Principle.
We use Pattern Recognition to learn something that are already existed.
we use First Principle to innovate and move society forwards.