I am a program, is the program is me?
"I am the program, the program is me." Mr. Liang Yixin wrote this in the "programming master rumor". Seeing this sentence does not have a wire resonance and inexplicable movement. Looking back, in the hero of the first generation of China, Mr. Liang is a few soldiers who are still engaged in this industry. I reported on them to take me in this temple (although I don't regret it after I can't say it). Mr. Liang as early, but the famous name is early, in that year, it is a famous person (the challenge of the challenge facing the programmer in the post-name "is less than the opportunity, thinking about the increasing piracy industry). With the hard work of "Direct CD" of his super, Direct CD "kills a blood road in such a bad application environment, it is also a good Han, who is equal to the code of the code, the workman of the code. .
The first chapter of the first reading beam is on the "programmer", which is the first chapter of "Programming Master Proverbs". It feels a good article, there are many views I agree. It is also because of this article, I bought a copy after I saw the "editor". I think about seeing a lecture hero's knowledge and sedimentation, and I also recall my own programs life.
It took a week to browse the book "Programming Master Proverbs" (the kernel optimization chapter is not read because there is nothing to read), but it is difficult to describe it. On the one hand, this book is a rare technical book in the continent in these years (most good books are refuted). On the one hand, I feel that disappointment is greater than the original expectations. I personally feel that Mr. Liang is undoubtedly a master from this book, but it is still a distance from the realm of the master.
"Programming Master Proverbs" The whole book is very wide, from the written specification and analysis of Windows's kernel to code, and debugging means. But there is no two questions, one is no focus, many problems have not been paired. Second, the structure of the whole book is very messy, such as the second chapter introduces 80386 addressing method, this section does not have a matter of relationship with other articles (in fact, the relationship between chapters in the whole book is not clear), put it there Obvious, no thoroughness, and easily give novices to misunderstand (Win32's assembly is not allowed). And the layouts and editing are not ideal, many sentences are very hard, feeling that the book is imagined. Size, there are many places that are not as good as possible. Of course, I am more like to like the typesetting design with reading notes, because I have a habit of writing something.
In the whole book, I prefer the chapter is Chapter 1 and Chapter 6, like the first chapter is because he is a feeling, and a few spare faders in the text make people feel sincere and cute. Especially the high-quality winds that have been practiced in the 1.2 session, is my favorite section, especially the analysis of the Chinese programmer's talent structure, and three points. In Chapter 6, Mr. Zhong Liang introduces a small software development process and ideas, and does not like the programmer of boring software engineering dogma.
Let me think the worst is the chapter of the PE structure analysis. I was going to read this section carefully, and I have to refer to some other books when I find it difficult to understand. Finally, I personally feel that this chapter has a lot of extracted, patchwork. Interested friends can compare Mr. Houjie translated Matt Pietrek's "Windows 95 System Programming Secrets". For example, the two-piece .Text section, not only the picture, let us compare the text on both sides, "I am surprised in the" W "book", in addition to the compiler, as well as Runtime In addition to the library code, there are some other things. In the PE file, when you call a letter in another module (such as the getMessage in user32.dll), the CALL instruction manufactured by the compiler is not directly Passing a function in the DLL, but transmits a JMP DWORD PTR [xxxxxxxx] instruction, and in the "edging" book "in the .Text section, in addition to the compiler creation and from the runtime library In addition, there is another additional code, I am very surprised. In the PE file, when you call the function in another module (such as the getMessage in User32.dll) ... ", don't say everyone This text is a modified, but the modification should also invite the editing of the knife, the modified text is not light disease, and it is the most interesting thing to translate Runtime Library as a running time library. The most interesting is the knife. The hand of the hand, "I am very surprised", Matt Pietrek from the "W" book from the question from answers, explains this problem, and "editing" but also surprised that others have been surprised 10 years, this is really I am surprised. I didn't find anything about "editing", I didn't know if I was negligent. I think the book and the software are the same thing for my own conscience. I don't know how Liang thinks. For the "Programming Master Pronunciation" book, the specifications of the code and the debate of the style of the netizens, I think this section is not bad. In addition, I think Mr. Liang said, "Decocted Codes" and "Standardized Coding" are the basic qualities and education of every programmer, no matter whether you are not a so-called "master", you must comply with these norms. Moreover, the specifications in Mr. Liang's article are not significant for practical programming, but too little. There is a netizen on the Internet to work together to rearrange the "code Daquan", and write more comprehensive.
There are two regulations here, and Mr. Liang will explore. Mr. Liang advocated Tab in the article to use 8 position length Tab keys to indent. On the one hand, the Tab key of the 8-bit length is too long, affecting the code arrangement, and if the Tab key and the space bar bore (very common in actual use), such code got other machines or open with other programs If the length definition of its Tab key is 4 bits, the code format will become confusing. So the best solution is to use the TAB key in the code, all of which are all spaced. This can also be set yourself in VC. In addition, Mr. Liang proposed code indentation method is also aware of the special case, and its request function "{" and "}" should be joined in front of the code, but "{}" in the function is to indent. Form the following format.
int main ()
{
IF (arg == 2)
{
// code
}
}
Mr. Liang believes that such indentation means "{}" is the next level. The "{}" top grid will affect the reading of the code. The traditional awareness is "{}" indicates that a code (hierarchical) begins. It is convenient for reading. It has no such effect, and so that the indentation of the indentation and function is consistent, and the ambiguity is also small. Of course, these are some different opinions on coding specifications.
The debugging in the "Programming Master Proverbs", the chapter of the programming language seems to be a bit pale. Especially chapter, the only thing that makes me in front of me is where INT 3 enters debug mode, but Mr. Liang will make a taste, there is no in-depth, it is really itchy. The bile is recommended to Mr. Liang. "Debugging Windows Programs". Everett N.mckay and Mike Woodringx can be said to be a master of Windows debugging. And the written book is clouded, and the book has benefited me. In addition, the book "Programming Master Proverbs", many local texts are not rigorous enough, and it is much more arbitrary. But a few cases:
Mr. Liang lacks MFC in the whole book, most of the most surprised episode in the episode in Section 6.1. "In fact, many of the MFC is done for the interface, so he doesn't have much use ... For example, a program starts a displayed form, then the form is hidden immediately, then in the lower right corner of the screen. Tray Small icon. This program is definitely made with MFC, because the MFC program is hidden when the window is hidden. "And not to say that people who know about the MFC frame will laugh. In this way, the post on the BSS has passed, and there is a rigorous in a technical book. In my opinion, MFC is a fast-developed C framework for fast development. It is its purpose. Due to historical reasons and compiler restrictions, the MFC is a relatively initial, which is worse than VCL. Mr. Liang prepared more software for multi-design hardware underlying and codes. These MFCs did not involve it, but MFC can only play is too strong, and MFC has created a primary river in the C framework, and many places are also very delicious (for example Implement the macro of RTTI). The architecture is the core and soul of software. (Mr. Liang also introduces the architecture of Hao Jie's big eyes in Chapter 6. It can be seen that it is also very important to the framework), and how difficult it is to design a beautiful framework. The reasonable use of the framework, understanding the school's framework system is the first step in entering this realm, so the MFC is never open to open thinking. For example, in the function call mode section, Mr. Liang divides the _cdecl and stdcall calls the clearing stack to manual and automatic, but in fact should be a function caller and the modified person. Automatic and manual saying is easy to misunderstand.
That is always "Programming Master Proverbs" This book is more like a scribble, not a book positioned in discusses technical issues. I even think that if the book is more exciting according to the independence of the scribble, not only the style of style can be more easily and casual, and the first draft of this book should be a daily study of Mr. Liang, and summarize the essay should also be more easy. Mr. Liang himself in the foreword also admitted that "This kind of book is really too difficult", I don't know if it is. I personally feel a lot of books, if you want to study technology or you have already gone, this book is not a qualified work, but if you want to make a long-term thinking problem with an old programmer Row, this is still there. In addition, in the country last year, the original technical book energy is probably "Programming Master Proverbs", "Encrypted and Decryption (Second Edition)", and how difficult it is to write a good book. This book is also ranked 12 in 9cbs. It can be seen that it is still recognized by many people.
Close "Programming Master Proverbs", leaning on the sofa, ignite a cigarette, I am not only thinking: I am a program, the program is me ...
postscript:
The "mobile phone", the old feet "Do people want to be a pass", in the ear, there is a few domestic original technical works such as "Programming Master Proverbs", but I have been blowing out, the door is smashed. Write a book is not easy, write a book is harder, but I want to see a better book, just this. But Mr. Wang Liang can forgive me. I wish you Jie New Year! 2004-2-7 late night