After learning programming for several years, I felt like I had taken a lot of detours, and many of my schoolmates were repeating the same mistakes I made. Recently
I also read the experience and suggestions of many predecessors, and then I will talk about the importance of the basics here based on my learning experience.
Path.
What is the foundation? It is to take the discrete mathematics, algorithms and data structures we have learned from the university, operating systems, computer architecture, and compilation principles.
Courses such as learning well, have a deep understanding of the computer system, CPU itself, operating system kernel, system platform, object-oriented programming, program performance, and so on.
Beginners may not be able to understand the importance of these basics. Friends of JSP, donet, MFC, and VB may even sneer at these basics, but they didn't learn them at the beginning.
Learning JSP or donet based on a good foundation will have a very bad impact, and you will not be able to extricate yourself from it.
When I was in my sophomore year, I still had no idea about programming, so I went to C ++ and didn't know what to do. The teacher said that MFC didn't know what it was,
When I saw other students learning Asp.net, I learned what. net, J2EE, and PHP are, And I think software development is just like this.
Those professional courses have nothing to do with the sqlserver, CSS, and Ajax courses we have learned. I feel like it is better to go home and learn for a diploma?
It is better to go to training and waste so much money. So I basically didn't go to any class every day. I am doing my website every day, and I have made three websites in just a few semesters. Feel done
These websites are just learning some skills and there is no progress. These skills are like others' names. If you tell them, you will be able to find them online. At that time
Hou thought that learning. net would be fine, and it would be difficult to engage in J2EE. Don't think about API programming, and the operating system is far from enough. Later I learned
And read the suggestions of many predecessors on the Internet to understand the importance of these foundations.
Although. Net or Java Development does not directly use assembler or operating systems, it is very difficult to master these basics, because you only know
Although I do not know all of them, the control in the MFC and. NET is easy to do, but the problem may not be solved.
None can be found on the Internet. This is the reason why an error occurs if you do not have a good foundation and do not know its principles. When learning. net, we often discuss those controls.
Shouldn't I use what others say? Do not know why? It's because you are developing at the top level and you don't know how it works. If something goes wrong, you may not solve it.
But it should be used. Otherwise, it will be very convenient to use it after understanding its principles.
Writing good code also requires a solid foundation. If data structures and algorithms are not well learned, how can we optimize program performance?
Select an appropriate data structure from the class library. If you do not know the operating system, how can you understand the principles of these development tools? They are all based on the operating system.
. I don't know how assembly and compilation work. I don't know how long it takes to compile efficient code.
If I didn't learn the basics well, I would have learned. net from the very beginning. The more I think about Java, the more difficult it will be. They involve too many technologies.
In the update process, for the layer-3 architecture, MVC and Orm, you will only use it and you will not understand why it is used. Then you will feel guilty and fail to learn well. And you
After the basics of object-oriented, software engineering, and design patterns are completed, you can continue to look at them.
Don't be confused by new terms or new technologies. net, XML, and other technologies are attractive, but if you have a solid foundation, it's like
Walking in the clouds is the same as walking in the fog. You can only see your eyes, but you cannot see farther places. These new technologies cover up many underlying principles.
The learning technology is still on the cloud, and the basic knowledge is learned in a down-to-earth Manner. With these foundations, it is easy to master those new technologies.
To start programming, you should first learn C/C ++ and system API programming, because they are closer to the underlying layer and learn how they work better. C/C ++
Programming and basics, and then learning MFC and. net will be easier and practical. Assume that it takes 4 months to learn vbprogramming, and the basic course and
It takes one year to design the VC program. If you learn VB first and then the latter, the time will not be reduced, or one year.
Later, you can learn VB again. Maybe you only need one week to learn very well.
Programming is like training. If learning specific languages and tools such as. net, MFC, and VB is external skills (tricks), basic learning is internal work.
However, it is impossible to become a master if the internal strength is not solid. Many people will think that Ma Yu daochang did not teach Guo Jing or ma daochang in the legend of the Condor Heroes.
On the surface of the tutorial, it seems that MA Bu's power is actually a matter of internal strength. After Guo Jing's apprentice Hong Qi, he began to practice the fall of the Dragon's 18 palm, relying on this profound inner
Kung Fu, swallowed the blood of the snake and added the practices of the 9 Yin Zhenjing taught by Zhou botong and the skill of both hands, and finally practiced the martial arts of walking the rivers and lakes.
It can be seen that Ma yudao taught Guo Jing the most basic and important concept. Programming is better than building a tall building, and the foundation is not well established.
A day will crash, and the higher the CAP, the heavier the loss. These underlying knowledge and textbooks are neither useless nor advanced, but I
You must master the basics.