I have read this article 《30 years of C.
In college, the first programming language I learned was C, but the most time I spent was c ++. About five years ago, I began to read two volumes of C ++ programming ideas and used Dev-CPP to practice the book routines on a machine, then I learned object-oriented programming, templates, and STL. Based on these experiences, I participated in the mathematical modeling competition and wrote several small programs for numerical computing and operational research. Later, I participated in the ACM program design competition, which was influenced by the teachers and students of the ACM team. I began to access UNIX and accept the idea of free/open source software. However, during the competition, I found that I still cannot solve those problems after learning C ++ and STL. The failure may be due to poor foundation and insufficient internal strength. Therefore, rework and re-learn the C and data structures. I bought a box of A4 printing paper and folded the paper to practice writing code in C. Today, when I saw this sentence in "30 years of C", "I just read the book cover-to-cover and wrote out the exercises on paper. Writing code on paper is quite a feeling of Writing prose, and of course it is also scattered. Knuth has long said that, in a similar way, the process of writing a program can be a perfect pleasure, just like writing a poem and composing a program. I think his old man should have also experienced programming on paper. Let's get down to the truth. After writing the box of A4 paper, we will start the study in sequence. After completing the study, I felt much more relaxed about my questions at home. Since then I began to believe in the motto "no magic, just basic". I joined a team for more than four months of MFC programming before I went to research and development. In those months, I also understood the importance of object-oriented and software architecture, at that time, I was eager to lay the foundation for these two aspects during the study. I did not expect that there were several large machines in the lab after I went to the Research Center, running Solaris/Linux and other systems. Therefore, most of the time in the Postgraduate stage was to use C encoding on UNIX systems, this is good, because I became an open-source believer before my graduation, and programming in UNIX systems can meet unlimited spiritual needs. On the eve of my graduation, I found that the Unix programming skills were not enough (especially network programming), but I found my job with the c ++ skills I have accumulated in the past few years. After graduating in July, I got on duty immediately. Now I have switched to the development environment in four months. Now I use C ++ for programming on Windows. After all these twists and turns, I eventually became a Windows C ++ programmer. Today, I saw some of my department's learning materials and this document Google C ++ style guide, and suddenly felt that I was still an entry level in C ++.
Five years later, I learned some basic programming knowledge, and now I have to continue to learn and practice, and continue to enjoy the joy of programming.
PS:
Google C ++ style guider http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
Chinese version here http://www.yulefox.com/20080710/translation-google-programming-style-01.html/