C , a reputation name, since the Bell Lab coming out, it has become a fact in fact industrial standards. Even in today's new ages, as a professional programmer, master C is pushed. So, how should we learn from this language?
The first part is of course a grammar. I think that for grammar, you should not die hard, but you should see the nature of the language through grammar. Regarding the syntax, a good book can make us more effort, here I recommend "C Primer" and "The C Programming Language" (Chinese name: C programming language), and "Thinking In C " (Chinese name: C programming ideas is not a masterpiece. These three books basically belong to that kind of C full picture, so as long as it is seriously studied, it is basically enough.
The second aspect is the standard library of C . This part is also the essence of C , however, many C fans in China do not use (^ _ ^ also included them), it is a waste. Through this part of learning, it can not only add wings (especially STL) in C , but also deepen understanding of C grammar. The program written by the C standard library is not only high performance and efficiency, but also the transplantability is very good. Therefore, this part is absolutely not missed for a programmer for C in-depth learning. This part I recommend "C STL" book!
The third aspect is about some of the experiences of C , this part should mainly accumulate individual experience. However, if there is a good experience in someone else, why don't we directly absorb it? Two books have to be mentioned, "Effective C " and "More Effective C ".
The fourth aspect can be said to be a deep mechanism of C grammar, let us understand the C object mechanism, better understand the essence behind the C grammatical phenomenon. In this regard, I recommend "Inside C Object Model" (Chinese name: in-depth exploration C object model).
The fifth aspect is COM, COM as the foundation of many large software today, has played a lot of role, understanding COM, which will be a solid foundation for learning OLE and ActiveX. Although COM is not unique to C , it can be more elaborated by C . Of course, there are many good languages today to describe COM, but through C learning COM can let more in-depth understandings, when you learn other languages, you will understand it in this aspect of other programmers. Deeper. Moreover, a lot of good COM books are also described in C , and there is "inside com" abroad (Chinese name: COM technology insider) and "Essential COM" (Chinese name: COM nature), there is Pan teacher writing " COM principle and application ", it is best to look at" Inside COM "or" COM Principles and Applications ", then look at" Essential COM ".
The sixth aspect is to perform Windows programming, which is estimated to be a major aspect of C learning and application. Learning Windows programming, in addition to Windows's basic programming ideas and event models, it is important to study the library, and the library refers to the library mainly includes three, one is the foundation Win32API function library, I think this is also to master the Windows program. An aspect of the design is not learned. In addition, the number of MFC class libraries, Microsoft's MFC class and Borland's OWL class, and the advantages and disadvantages of the two do not say, in fact, they are all packaged for Win32API functions, but except for the package Win32API, There are also many features and ideas, and in general, using C development of Windows programs is also two. Regarding the use of Win32API development, it is a "windows programming" (Chinese name: Windows programming) recommended by the father of Windows, and the MFC also has "Windows Programming With MFC" "MFC Windows program design" and Mr. Mr. " MFC. In addition, MSDN is also a good material that learns how to design a Windows program design, rich in content, powerful! Of course, C is not stopped, in April this year, the C Standards Committee passed the ten library standardization motion. There is also Microsoft's Managed C (managed C ) launched in .NET, learning will be more than just things.
Finally, I have to say that there are many places we need to pay in addition to our traditional technology. On the one hand, the code specification is nothing more than the metrics and shrinkage before I see "C Coding Specification". However, after reading, I really know what is coding specification. Another aspect is part of the design pattern, which is also the part of C sublimation, "Design Patterns" (Chinese name: design mode), which is also the transformation from a programmer to the designer. There is also a "THE Design and Evolution Of C " (Chinese name: C design and evolution) to introduce C , it is also the long river that leads you through time, let us revise the history of C , and answer Many readers have doubtful answers to some grammar. Most of the above books are all foreigners, so there are English film printers, if English is good readers, even in English, even if English is unhappy, you should also try to read the original version, everything is difficult!
There may be a reader who will say, you know how much, in fact, I just put everyone good opinions, be a big microphone! There are some books, but I have never seen it (sorry, the book is really too many, and then the Money is not enough), so it is inevitable to produce a deviation. More than purely personal point of view, for reference purposes only. Also do a thank you for learning C from other predecessors! !