What's the difference between Minoan and architect
Looking at the article from the title , Your first thought is that this article is about the relationship between computer basic knowledge and programming , But why did it start like this ? Of course, such an opening does not make much sense , The only purpose is to attract readers .
After graduation, most of the students majoring in computer science will go to the way of programming , Of course, there will be some students who are more interested in things , So I can choose another career after graduation . According to my personal way of programming after graduation , Write a summary , I hope to communicate with you , What's wrong , I hope you can correct me , Because I personally think “ There must be a teacher for three people ” It's a very reasonable statement , Everyone has his own opinion on the same thing , We will also find that there is a reasonable point of view that others have not found .
It's a little ambiguous , Mainly influenced by the books I read recently , Not much nonsense , Let's get to the point .
The topic of this section is a little big , What's the difference between a Minoan and an architect ? What would you say if you asked yourself ? for me , The main differences are as follows , Architects have a more solid foundation than code farmers , Better abstraction , More project experience .
A solid foundation is necessary and the most basic condition , But personally , At present, the student foundation of computer related major in most schools is very weak , Either for the exam or for the interview , Just turn out the corresponding basic computer textbook and look at the back , After a while, I forgot , Because I don't think it's useful , And it's boring , It's better to write two lines of programs by hand . So we gave up the basic knowledge of computer learning and understanding , Slowly turn to mechanical transfer API, The false sense of achievement has blocked our way forward , It limits the depth of our thinking . In this case , We feel good about ourselves , I feel like I'll be able to make a big show of myself right after graduation , Make a career . But everything is a blind leaf , It's blocking the way we were supposed to go , And stagnate , University time is wasted in vain . Only when we really get involved , Access to more real projects , More experienced people find that what we are proud of in school is only a small piece of sky in the eyes of the frog at the bottom of the well , At this time, our eyes slowly open , I saw something we hadn't noticed before, but we were familiar with . But we're basically familiar , In this case, we can understand how important the basic knowledge of computer is , It's a way for you to understand higher level concepts , Without them, there is no way to understand many concepts in programming languages , Can't grasp the design ideas well , Design concept , There's no way to write high quality programs , When something goes wrong, it's like a headless fly can't find its way , And then I went to the hospital , It took a lot of time and didn't produce much . Slowly and slowly feel that if you don't make up the basic knowledge , So it's going to be very difficult to move forward in your career .
Those above just now are my true portraits , That's why I always emphasized the importance of computer basic knowledge , Of course, later I also made up for the basic knowledge , And applied it to my daily work , It's very significant for me to improve myself , Included in the source reading , And the design of important frames , They all play an important role .
In the process of mending computer basic knowledge , I find some concepts Abstract , The words are not long , But it's very difficult to clearly restore the scene or process of the text summary in the brain （ For abstract concepts , I will link it to a scene or process by browsing other materials , In this way, the understanding of abstract concepts will be more profound , And it's not easy to forget ）, In this case , What we need is to read relevant materials , And thinking , In the modern age of the Internet , We gradually like fast-paced things , Like things that don't need much thought , So we're getting further and further away from thinking , But a lot of profound things still need our constant thinking to understand their essence , Only we can use it , It's only for us , We can create more and better things based on it .
Project experience is also essential , The thinking brought by project experience is a problem of matching technology and demand , What kind of requirements can be better fulfilled with which technologies , And how to use the technology together to achieve better results , It's kind of like a chef trying to finish his own recipe , Through the project , Summarize your own recipe .
What is the basic knowledge of computer ?
It's a bit self defeating to say the basic knowledge of computer here , After all, I haven't been in touch with computers for a long time , And it didn't make any difference , But I want to share my personal understanding here .
First of all, I have to say 《 Computer operating system 》, Computer operating system is a very important basic knowledge , It is recommended to learn the operating system , Take a closer look at the startup process of the operating system , The startup process of operating system plays an important role in understanding what operating system is . Internal process , The concept of thread must be understood deeply , Suggested cooperation 《Linux Analysis of kernel source code 》 Let's see , In this way, you can have a more intuitive feeling , Of course, the memory management mechanism is also very important , If you want to be engaged in the development of the underlying operating system in the future , You also need information about the format of the executable , If you want to write it by yourself , You can modify and compile Linux Kernel start , Of course, there is also a good book 《30 Self made operating system 》, This book must have a certain hardware foundation to understand , It is recommended to see some data related to the system structure , And what we have to refer to 《intel80386》 's Manual .
And then there's the 《 computer network 》, In this era of Internet , Computer network is fundamental , All the necessary good study , This basic knowledge is not only for later writing programs , Or the use in later life is crucial .
In the end 《 Compilation principle 》,《 data structure 》, These two books suggest a good reading , for instance 《 Compilation principle 》 It can help us understand the process from source code to executable program , And how different languages call each other （ You must also understand the format of the executable ）. such as 《 data structure 》 It can help us understand the realization principle of database , The realization principle of file system and so on , Suggestions 《Linux Design and implementation of kernel 》 In ext2 Source code of file system !
Finally, we should learn mathematics well , what 《 High number 》《 Number of lines 》 etc. , Especially in graphics and images
More is less , If we learn the basic knowledge of computer well , Other, more advanced technologies are just a re combination of basic knowledge !