Finally, I also want a C # book-My writing process and C # book recommendation

Source: Internet
Author: User

My previous question stopped for a long time because-I went to write a book.

Objective

I started working in March 2012 and now I'm six years away. For the past six years, I have never known anything about SQL Server, only the simplest C # programmers have started, stepping back from a nameless outsourcing company to the middle of a larger financial institution, with wages rising to nearly four times times the size of a new job. In the process of struggle, I also go a lot of detours, once very depressed, but fortunately, eventually my efforts were not wasted.

I have always been a person who prefers to write articles. In peacetime, I also like to put a lot of necessary things (such as the server's IP address, login password, etc.) to write down and make a document to be consulted at any time. In previous years, I am not satisfied with my own company, in my spare time has been ready to move, so I collected a lot of questions and answers. Later I found that the preparation was not systematic, then went to buy a book to start looking. Ashamed to say, I began to read the system in the third year of my job, when I bought the first book "Proficient in C #" 6th edition. At the same time, I also know that the C # field is the most famous book is the CLR via C #, and bought a copy, rewrite their own articles (before they are just the answer to the interview questions), slowly posted to the Internet, became a Test series. In this series of writing process, I also refer to the blog Park a lot of outstanding friends of the excellent article. My skill level has improved a lot in this process. While writing a blog, I also got the attention of a company editor. Through the blog in the Park station letter, the editor wants me to write a book about C #. At that time I counted my article inventory, found that the total number of words has been about 100,000, and the company was not busy at the moment, agreed.

Book Writing

After signing the preliminary contract, the editor named my book The C # written question set, because after all, my blog on the internet and the relationship between the test is relatively close. I submitted a catalogue based on the inventory of articles already on my computer and prepared them for 7 chunks:
1. NET basics, including type basics, object-oriented, etc.
2 C # Important features, including delegate events, generics reflection, LINQ, etc.
3 Design Patterns
4 Database Basics
5 basic knowledge of the algorithm
6 testing, deployment and continuous integration
7 Multi-Threading

The reason for all this is that I have written articles about them when I was preparing for the interview. But in the process of writing the book, I gradually found that my "ambition is too big". If I follow the above outline to write a book, I not only have enough time, the current ability is completely incompetent: my algorithm level is very general, nor design patterns and database experts, testing and deployment experience is not much. And even at the beginning of the writing. NET basics This part of what I think is the most "good" part, I also check the information and reference other books, I found that my cognition is actually quite fur. So, when I started writing books, I was still slow, although I improved on the basis of past articles. Sometimes, I will occasionally hit a super-strong article on the Internet, it more than I know more thoroughly, resulting in most of the previous writing has to be rewritten.

After writing the book for a few months, I decided to cut the design pattern, database, algorithm, test and deployment from the book, and make the book more focused on C # discussions. This allows the content of the book to be too loose and more confident. Now, the entire book has been written 90%, the end of this month will be fully completed. After the delivery, I believe there will be a review and discussions with the editor time. I will inform you when the book is officially published. Now the contents of this book include:
1. NET basics, including assemblies, type basics, memory allocations, object-oriented, String, GC, and more. This article introduces a little bit of knowledge about IL.
2 C #, including delegate events, generic reflections, new features for linq,dlr,c#6 and 7, and more
3 multi-threading, including multithreading basics, Sync and lock, async model, async/await, etc.

The first part mainly refers to the first and second parts of the CLR via C # and other relevant books at home and abroad
The second part mainly refers to the deep understanding of C # and other domestic and foreign related books
The third part of the main reference to the CLR via C # in the last part (about threading), in-depth understanding of C # async/await that part. I tried to explain the chapters of the two books in a language that was easier to understand.

My position on this book is: Suitable for people with 1-2 years of experience in the development of reading. The book's title has been identified as "C # from the phenomenon to the essence", will have the following characteristics:

    1. Up-to-date with the latest C # 7 features, but will not introduce the most basic C # syntax
    2. Tamping the groundwork, in-depth nature, is not a simple MSDN Porter + a long, non-annotated code for this style of book, for example, "21 days ... 》。 This book refers to IL and occasionally posts IL code in order to thoroughly analyze the substance behind the various syntactic sugars.
    3. The current market on the C # multi-threaded Chinese data is less, most C # books in this part is a simple mention, but my book in the multi-threaded will be an article, including 5 chapters, using plain text to explain C # multithreading related various locks and synchronization tools, as well as the asynchronous programming model, until the latest async/ Await
    4. Emphasis on English, a lot of nouns next to the corresponding English translation
Reference books

When I was writing, I consulted a lot of books, from the famous Zhao Sanben to the books written by many bloggers, and other Chinese and English books. While reading other people's books, I also found that some books are really excellent, but they are obscure. Some chapters of some books are quite exciting. I'll also list them here as a list of my own recommended C # advanced books.

If you are not very solid, then you can find the "proficient in C # 6th Edition" Get Started (do not look at WPF,WCF that several points), or "Learning hard C # Learning notes" also line. The former content more, the latter relatively concise, can enhance learning confidence. But the best introductory book I think is "NET 4.0 object-oriented programming," the basic article of this.

The books below are not for beginners.

CLR via C # version Fourth
The book is too important to be famous. In fact, it appears almost in reference to any book that speaks C #. Although it appears to be a bit "out of date", the book is very thorough in its interpretation of the CLR. Many people's C # books, are more or less affected by the book.

Although the book is very thick, the structure is very clear and divided into five parts:
1.CLR Foundation, speaking of the structure and deployment of assemblies, Il,jit, type systems. The first chapter is very important, must be good-looking, chapter two and chapter three are relatively less important.
2. Design type, which is a part of all the members that a type can have, all chapters are important, and 12th generics are especially important.
3. Basic type, 13,14,16,17,19 is important, 15 and 18 can be seen.
4. Core mechanisms, mainly including exception handling, GC, application domain, reflection and serialization.
5. Threading, as the master of the Windows operating system, the author's understanding of threading is very deep. 26 chapters are mainly concepts, 27-30 chapters are all multi-threading, read through this part of the understanding of multithreading to help greatly. However, this part is filled with a large number of proper nouns, not very friendly to non-Windows experts. Can be combined with other multi-threaded books to see.

The book was written earlier, so there was a lack of introduction to some of the newer versions of C # features, such as LINQ. At this point, we need another famous book-"in-depth understanding of C #" came out rescue.

Deep understanding of C #
The book is less "bottom-up" than the previous one, but it is also difficult to read. For readers who prefer features rather than principles, you can read through the book, which describes all the features of c#1-5 in the evolutionary order, and the Interpretation of LINQ is both practical and relevant. All chapters of this book are important.

. NET Design Specification: Conventions, idiomatic methods and patterns
When arguing whether an abstract class or an interface should be a class or a struct, we actually look at this book enough, and it has already given us a lot of best practices. Don't know how to write exception handling? Let's look at chapter seventh. This book is actually a collection of code specifications.

This book is suitable to be consulted at any time when needed. The above three books complement each other, including all the master language-related skills that a mid-level developer needs to master (in fact, even if only half of them are good enough), they are called "Zhao three" by a well-known programmer. The programmer also believes that fully understand the "Zhao three" developers in the mainland should be treated at least 20k yuan per month, that is, intermediate developers.

Pro. NET Performance
This book takes a unique perspective – performance as a starting point to tell. NET programs and types are reflected in this aspect of performance. The first two chapters of the book mainly discuss the measurement methods and tools of performance testing, chapter three went into the type system, the fourth chapter detailed the GC, these two chapters are worth reading.

The book is currently available in English only and is difficult to read.

. NET essence on the first volume common language runtime (Don Box)
The book is actually about the CLR, and it's also a discussion of the CLR, the bottom of the book, the deepest one I know. The author of the book is also a COM expert, so for the CLR, the better COM, he must also be very familiar with.

My favorite part of this book is the 6th chapter, where the author uses a chapter to discuss the method invocation. The book is too low-level, the writing age is also very early, reading may be somewhat out of the actual feeling.

NET 4.0 Object-oriented Programming ramble on basic article
The author of this book is Jin Xu-liang teacher. His book (and the one next to it) is explained in vivid and interesting strokes. NET in every aspect. I personally like this book very much. If you think the "CLR via C #" is too boring, the way too much foreign language, you can not see, you may first read this. Although this book is not as deep as the CLR via C #, there are a lot of implications for the bottom layer, which is fundamentally different from many of the shoddy "drag control tutorials".

NET 4.0 Object-oriented programming ramble about application
In this book, the author focuses on the processes and threads and on-site applications in C #. This is the multi-threaded aspect from the people's Few good data. This book is the same as the previous one, and I highly recommend it.

You have to know that. NET (second edition)
The order of the book is very unique. Its perspective is completely object-oriented and will be. NET each point of knowledge is presented in front of the reader in a contrasting way, and the first reading may not be appropriate. The book has a certain depth, and the author is more humorous, so reading is not very boring.

This book has a lot of solid and design patterns in the content, for the developer benefit.

Threading in C #
This book, published online in Web form, provides another introduction to C # Multithreading, which is now available in translation versions https://blog.gkarch.com/threading/part1.html. The book is right. NET offers a wide variety of locks that can be seen with the last four chapters of the CLR via C #.

. NET's key technology in-depth analysis of the beauty. Net
This book is a blog Park Netizen Zhang Ziyang's works. The commissioned chapter of the book is a classic.

Other multithreaded books include Async in C # (English only), C # Concurrent Programming Classic instances (this content is new, but it is ...). and a high-level tutorial on parallel programming in C # (which is relatively mild but not async/await).

Conclusion

I'm not writing a book to count on how much money it earns (very low). First of all, I have a strong interest in technology and. NET, often in the writing of books and sleep, play games are not bored. In addition, my article by the Publishing House Editor's appreciation is also a affirmation of my ability, since I took the task should be carefully completed, worthy of their own writing every word, not misleading readers. Finally, I also hope that by writing a book this opportunity to meet more friends, to bring more opportunities for themselves. After the successful publication of this book, my next step may be to study and research in the direction of AI or machine learning (I have taught myself about composing theory, I have always been interested in artificial intelligence composition), or algorithmic research (out of a book using C # to achieve a variety of small game solutions, such as Huarong, digital puzzles, etc.), I'm not sure yet. But I can be sure that the whole process of writing the book, I harvested a lot, but also very happy.

Finally, I also want a C # book-My writing process and C # book recommendation

Related Article

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.