[Original] What is a program? The algorithm is king!

Source: Internet
Author: User

What is a program? The algorithm is king!
Lewislau-May 13
During this time, I am finishing my college graduation project. I want to emphasize "Junior College" in order to explain that I am actually very good and have a limited level. Therefore, it should be regarded as an official reader. If you think you are writing well, leave a few words. If you think it is spam, You can criticize me. First, you must keep an attitude towards your predecessors!
Why do you want to talk about this topic? Because I have been thinking about it recently (when humans think about it, God wants to laugh !), At present, I keep learning about windows. It is too large. Any technical point is enough for you to take a while. And the emergence of new technologies every year, this game is never a way to play. Obviously I feel lost ?! In addition, I feel that Windows is like a dictionary, and the technical difficulties in it are the "entries ". So how can we make a sentence? What is a certain "Syntax" and "Syntax? I think it is an algorithm !! The "term" in the dictionary is used for query, and the "Syntax" is to be learned. However, we are always drowned in the gorgeous "word algae", ignoring the syntax, and finally discovering that the charm of the original language exists in the "Syntax", rather than the gorgeous "word algae ".
I spent more than half a year learning about MFC. Just as I got started and started to master it, wtl came out, did you win? Not to mention the owl, VCL... so the framework of the learning program is at the early stage. I personally think it is not the best choice.
Let's talk about other factors that affect my thinking about this problem. I talked to Li Sir about the future a few days ago. In a word from Li sir, I 'd like to remember it for a lifetime-"I Don't Know algorithms in programming, it's the same as never learning! ". Another thing is that I went to the library in the afternoon and saw "programmer" in February. The topic was "The Power of algorithms". There was an article by Dr. Li Kaifu and Ling xiaoning, after seeing it seriously, I suddenly found myself in the direction! That's why I am writing snacks tonight!
I know a Microsoft MVP, a little bigger than me. I used to think about how he can be elected as an MVP? I have read about C ++ on his blog. I feel that I am not familiar with C ++. Why is it? When I saw his blog notes about algorithms, I really admired them. His research on algorithms was very delicate. The following is his blog address, interested friends can look at the http://spaces.msn.com/liangzhen/ since you know the existence of the gap, know the reasons for the gap. I have no reason not to recover it !!!
Now I am deeply aware that I used to go around a huge circle. Sadly, a lot of valuable time has been wasted. Fortunately, we have realized it now. In fact, I am not clear about the practical value of algorithms, Because I seldom used algorithms when I used to write programs. I studied hard for a while before and did not stick to it later. However, when I learned some algorithms, I obviously felt that I had a better understanding of some problems.
Then there is a piece in the story of programming guru: "All languages are just fancy things. Experts can immediately see its nature through its appearance. This is the real master. He does not need to learn any Java or other languages. When he wants to write a Java program, he just needs to take a look at the Java program and take a look at the book. At this time, it would be easier for him to learn VB. I think he can learn it without a day. After reaching the realm of masters, everything is accessible ."
Looking at this section, "programmers, especially many programmers nowadays, are misled to start with MFC, which easily forms a closed mode of thinking. This is also Microsoft's hope that many people can only learn things on the surface and won't become masters. Therefore, he strongly recommends tools such as MFC, but many people are willing to take advantage of it, finally, we were truly lost. Let's say that he can't do the program. He can also do the program. But if the program is a little more complicated and the problem occurs, it will be hard to figure out where the problem occurs. If you really have an open mind, when you can become a Senior Programmer, you will not be concerned about MFC, and MFC and VB will not be taken into consideration ."
Now, I really regret that I had killed me to the MFC !! I would like to warn beginners that although I am very keen on the MFC, he is indeed capable of being "blind !! However, he is indeed a model of application farmework. I personally think that learning is acceptable, but it never takes too much time. Otherwise, you have to end up like me!
I regret it very much now. I spent at least half a year on MFC and found that it was just a "Vase ". Why ?! After reading the "deep dive into MFC", I have read it several times. What kind of feeling is that every bit of MFC has had a profound impact on my mind. Sometimes I think I can simulate the MFC to encapsulate a set of application farmework. But when it is used, it is something on the interface, and the core of its program is rarely completed using MFC... ... So now I want to learn MFC. It takes me one or two months to study it. Of course, this is not how to use it? Instead, I learned the principles of MFC. After reading the first ten chapters of "let's get started with MFC", I should be able to meet your requirements! Unless you are only interested in Microsoft, you can only learn Microsoft's things. (As I did before !) That's okay. In addition, the SDK is what you need to learn. Instead of learning thousands of functions in the SDK, you need to learn how to quickly learn how to use functions in the SDK!
Now I want to talk about my own suggestions on the learning program, which is my true understanding of the learning program. Although I am also a cainiao, the following content is also my future study direction:
1. Learn algorithms seriously. Although you still don't know how much it will affect you in the future!
2. No matter how you learn basic courses such as computer composition principles and operating system principles, even if you don't think it is very useful, you must believe that the principle of "changing everything from nothing" is true.
3. Application frameword is secondary, and thought is the most important. What is thought? The idea of a program is an algorithm !!!
4. You still need to learn the assembly language, although it is rarely used for development. However, whether in Windows or Linux, If you know assembly, debugging is very convenient.
5. If you have time, energy, and challenges, you can check the Linux source code. It will make you feel that the program is so transparent in front of you!

Statement again: I am also a dish, and I will write my thoughts with my handwriting. Yes, everyone advocates it together. If you say something wrong, everyone points out that I will correct it !!

 

By lewislau (AMU)
, January 1, May 13

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.