Acknowledgments: Thanks to uncle Long, retired

Hello everyone, my name is Uncle Long. In my 18 years of programmer career, I have read more than 200 technical books. Now I still have dozens of good books in my study at home, which I often refer to.

First, on the importance of reading

Now unlike more than ten years ago, there are a lot of learning resources now, after the campus work, many people do not like reading, reading to learn by fewer and fewer people, but I have kept this habit, is now, every morning will get up to read some books.

One of the advantages of books is that they have a complete system, as can be seen from the contents. If you read a book carefully, you will have a complete knowledge system, comparable to some online courses.

Another advantage of books is authority. Can be published by the publishing house of books, spread will be relatively wide, the author is basically some technology is very powerful people, they poured into a great effort when writing books, and continue to revise and improve the area, strong authority.

Now there are so many resources, if you want to understand a technology, you can read anything, read some blogs or forum sites, or even textbooks, but if you want to learn a technology in depth, then authoritative books have to be patient to read, which will be of great help to you.

Even though there are PDFS and electronic versions of books available online, I still don’t get used to them. I prefer to hold a book in my hand and flip through it page by page, taking notes as I read.

Borrowing from the famous writer Bing Xin’s words “read well, read more books and read good books”, today I would like to share a programming book that I think is quite good.


1. C language books

First of all, let’s talk about C language books, which is also a lot of people asked me a question, C language to read what books are better? I recommend C Prime Plus.

This book basically basic all involves all aspects of the C language, believe that there are a lot of people have seen Mr Tan Haoqiang the textbook “C language program design”, Mr Tan’s the book I have seen many times, but in my experience, I recommend the book, it’s much more full, deep, read a few times more useful.

Version of the word, we suggest that we go to see the latest version of the book, technical books often because of the update of technology and a new version, although the change is not very big, but we as far as possible to keep up with the latest technology trends as well.

For C language, advanced words can look at other books, the main two aspects of the book, one is pointer, a is memory, these two are the most important things in C language, “C and pointer”, “C trap defect”, “C expert programming” are good.


C++ books

There are two books I would recommend, one is the classic C++ Primer and the other is C++ Primer Plus.

The difference between the two books is that C++ Primer Plus is more suitable for people who have no basic knowledge of C++, because the content is simpler. If you have or have read C++, or have a good background in C, C Primer Is better for you.


Java books

Of all the Java books I have read, this is the most comprehensive and in-depth one, and it would be a shame to miss it.

Of course, if you don’t know much about Java, you might struggle to get to the bottom of it, but you might want to start with Java Core Technologies, which has volume I and volume II, both of which are very good.

These three books are must-read if you want to learn Java as a professional language.


4. Python Books

Now more and more people are learning Python. Many friends ask me on the Internet which book is better for learning Python, so I recommend two books to you.

The first book is Python Core Programming, which contains Python 2 code, Python 3 code, and basically covers all aspects of Python syntax, as well as common areas of application of Python.

And then to recommend a book “Python from entry to practice”, the book is based on the Python 3 speaking, this book as an introductory books is no problem, common applications also include Python, after learning the basis if you also want to extend to a particular application domain, and then you go looking for that specific application in the field of book. Choose between Python Core Programming and Python from Getting Started to Doing.


5. Go language books

GO language to recommend a book I have been reading recently “GO Language combat”, also called “GO In Action”, this book is translated from foreign books, relatively thin, but very easy to understand, there are not many classic GO language books on the market, this book as a primer I think it is good.


Advanced 1: Data structures and algorithms books

Once we have mastered one or two languages of C /C++/Java/Python/GO, we will meet the first element of job hunting. Then we need to have a deep understanding of the important IT technology in the IT industry. This will not only be involved in the interview, the interviewer will probe your technical depth. And you actually use it a lot at work.

For programming work, in addition to language proficiency, the most important is data structures and algorithms.

In this respect, I recommend the book “Introduction to Algorithms”, which is not suitable for beginners, because this book requires you to have a strong mathematical foundation and a deep foundation of data structures and algorithms.

Compared to the previous book, “Algorithms” this book is more acceptable, should be suitable for the majority of mathematical data structures and algorithms of friends. This book covers the basic data structures and algorithms very comprehensively, which is basically a good book for you to learn data structures and algorithms.


Step 2: Computer networking books

Computer network is also looking for a very important thing, must master, computer network in a narrow sense of understanding is actually TCP/IP protocol stack.

First of all, I have always found TCP/IP In Detail to be the best book I have read about computer networking or the TCP/IP protocol stack. Although this book is considered very obscure, it is too classic, so it must be recommended. And of course there’s Computer Networking from top to Bottom, and I don’t think there’s a better book on computer networking right now, so pick one of them.


Step 3: Linux books

One of the necessary skills to find a job is the Linux operating system. As we all know, THE DEVELOPMENT of C language is rarely done on Windows, and basically is done on the Linux operating system. As an excellent programmer, it is essential to understand Linux.

First to recommend bird elder brother “Linux private kitchens”, the book is mainly about the use of Linux operating system, for it is main or command, very suitable for when the reference books, if you are on the inside of the content is familiar with basic, then you can come in handy, don’t need you to remember the details, but you should generally know what command is stem what of, suggest you to read it again.

“Linux private room dishes” about the use of Linux operating system is only the level, but if you want to learn to program on the Linux operating system, it is recommended to read this book called “Unix environment advanced programming”, C linguistics is good, not in Linux operating system programming actual combat, so it is just a toy.

“Unix environment advanced programming” will talk about a lot of practical aspects of the content, such as file IO, multithreaded programming, network, socket and so on, very practical and classic.


Step 4: Code Quality books

Finally, I would like to recommend a book on code quality, which is also the book I have the greatest influence on me, from which I have gained a lot of experience and skills, “Refactoring and Improving the design of existing code”, this book is about the best practice, of course, you need to have a certain programming foundation.

These books are very classic, I feel almost all required technical books, if you are finished, looking for a job shouldn’t be a problem, if you deserve to go up again in contact some field and open source projects, the land a good job is usually not a problem, a lot of books I feel when reading should be looked at, so share with everyone, ‘together.