A five-year programmer's Learning View

Source: Internet
Author: User
Tags php and mysql

"The Ancient and Modern mediocre people in the world are all defeated by an inactive word. All the talented people in the world are defeated by an arrogant word. -- Zeng guofan"

I am a mediocre person. I wasted a lot of time last year and will study harder this year.

Return to today's topic. I collected a lot of books for my study plan last year and some time ago, and I am also responsible for purchasing books for our R & D department. So I bought a lot of excellent books and I will share them with you today.

1. C Language Improvement

C and pointer

C defects and traps

C expert Programming

I have mentioned these three books in many articles. They are a must-read book for Junior C programmers. They are also teaching materials for new employees in our company to study hard, it is very suitable for graduates.


2. c ++ Language Improvement

Valid
C ++: 55 specific practices for improving procedures and Design

More
ValidC++: 35 effective methods to improve programming and design (Chinese Version)

C++ Meditation

C++ Templates Chinese edition

In-depth exploration of the C ++ Object Model

Generic programming and STL

I am a programmer who switched from C to C ++, so I have never systematically studied C ++ syntax, and I often learn what I use. C ++ primer is good if you want to get started with the system. I am reading the first book of the above books. I plan to finish both Objective C ++ and more objective C ++ over the past two months, and then I will study them further. Of course, the course here is just to read the book and take notes. Further practice is required to fully understand the content of the book.


3. Design

Code Daquan: This is a book that I like very much and is very suitable for work 2 ~ 3 years of intensive reading. I have made recommendations in an article.

Refactoring-improving the design of existing code

Clean code

Implementation Mode

97 things programmers should know

These books generally talk about functions and lower-level design. I have finished reading the code and made a lot of notes, which has benefited a lot. You don't have to talk about refactoring. I have read some of the other books before, but it is also very good. I plan to have time to study well.


4. Architecture

The art of software architecture

Domain-driven design: The Way to cope with software core complexity

97 things software architects should know

Enterprise Application Architecture Model

Model-Oriented Software Architecture Volume 1: Model System

Software Architecture Design"

97 things architects need to know

I am a stranger to this part, which is also my learning focus this year. I have read the book "Software Architecture Design" from the beginning to the end, and I have built an overall impression on the software architecture. I will combine the later learning with the learning of models. The first learning goal is "model-Oriented Software Architecture volume 1", followed by "analysis model", "enterprise application architecture model", and "Domain-driven design".


5. Agile Development

Test-driven development

Agile Software Development-principles, models and practices

Scrum Agile Project Management

Scrum and XP in smoke-how do we implement scrum

Agile Software Development I have learned the "principles" and have a general understanding of agile software development. Other books are more like reference books to me. At present, a large amount of time system learning cannot be arranged.


6. Mode

Java and mode (including disks)

Implementation Mode

Enterprise Application Architecture Model

Reusable Object Model in Analysis Mode

Anti-pattern: Reconstruction of software, architecture and projects in crisis

Design Patterns

Model-Oriented Software Architecture Volume 1: Model System

As mentioned above, schema learning should be combined with architecture. Of course, this is a higher level: the architecture model. Implementation Mode is function-oriented, and design mode is an object-oriented system. I have read the design pattern from the beginning to the end, but I still need to read it again. At that time, I had limited experience and did not fully understand it. Now, there will be new gains.


7. Thoughts

Thoughts on transformation-Zhang yaqin's decoding Innovation

The path to technical leadership-a comprehensive solution to problems

Innovation wins the world: nine business leaders talk about innovation

Software Transcript: programmer's tribal chief Joel talks about software: the articles in this book are all very good.

Huawei R & D: It seems inappropriate to put it here.

Hacker and painter

Unix programming Art

Code path

These books can train your thoughts. I like software recording and code writing, and I look forward to hacking and painter.


8. Beauty Series

Team beauty

Architecture beauty

Code beauty

These three books all choose a topic and ask some world-class experts to write an article based on the topic. Therefore, these books are not systematic (but do not mean that the books are not good ). You can put it at hand, have time to read a chapter, and talk to the master.


9. development language

PHP 6 and MySQL
5 basic tutorials

PHP and MySQL programming (version 3rd)

Ruby
Rails Chinese Version

My first working language is C/C ++, my second working language is Python, and my spare time working language is Php. There are still few books related to python in the books above, which are being supplemented and also being learned.

 

10. Linux/Unix

Deep understanding of Linux kernel

In-depth Linux kernel architecture

Advanced Programming in UNIX environment

Linux kernel design and implementation

Connectors and loaders

Linux Advanced Programming

ARM Embedded System Development: Software Design and Optimization

Unix programming Art

Most of these books are some of my reference books except Unix programming art. They are a very special book and worth reading.

In addition, I always want to take the time to study the Linux kernel.


11. Management

Effective managers (collector's edition)

Management practices (collector Edition)

45 habits of efficient programmers: practices of agile development

I have read and take notes on the book "fruitful managers (collector's edition)" from the beginning to the end. This is a very good book.


12. Algorithms

Introduction to Algorithms

Programming Pearl

This is my weakness. The first book cannot be understood, and the second book has not been read. Work hard.

 

The above classification is my rough division, which may not be scientific enough. However, there should be more than enough books to organize.

In addition, many of the above books may be repeated, so you may choose to read them as needed. Some books may not be available, but you should be able to find e-books.

Finally, let's talk about my views on reading:

1. Some books must be intensively read, but notes must be taken during intensive reading.

2. It is also important to choose the time to study. If you do not have a certain degree of practice and foundation, it may be very painful to read some books. At this time, we have to stop. If you have a strong desire or need for some knowledge, this is the best time.

3. The best learning effect in the development practice process.

4. Focus. There are two levels. The first level is to focus on a large period of time (such as 90 minutes), which can improve the learning efficiency. The second level is long-term focus, and in a long period of time (for example, a quarter or a year), we must focus on a certain field so that we can accumulate and break through in a certain area, it will not fall into the general age where everything is well known but not refined. I am focusing on C ++, followed by the model and architecture.

5. Expand your knowledge on the basis of focus and learn about the changes that are currently taking place in it.

To be a T-type it person: both depth and breadth.

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.