Home >
Article > Backend Development > How can programmers improve their programming level and their thinking level when reading computer programs?
How can programmers improve their programming level and their thinking level when reading computer programs?
WBOYOriginal
2016-09-02 08:43:481250browse
How to become a high-level programmer?
Related background:
I have been working in PHP for more than half a year, and have been exposed to PHP for a year and a half
I was originally doing SEM in a company, and came into contact with the dede PHP system, so I started to learn HTML, CSS, and PHP by myself as an amateur
Amateur I just read information, videos, and simple blog project codes on the Internet, and then I wrote a website homepage. Later, I transferred to the company to do PHP
At work, I learned how to use js while getting started, and later I did it manually. After installing WAPM, I have also struggled with linux design patterns. I have tested them one by one. There are more than 20 types. I have some insights into object-oriented data structures and algorithms. After reading them, I feel like I don’t know where to use them.
Operation System - I haven’t finished it yet I know a little bit about C, I know a little bit about PHP, and now I’ve read a little bit about python And I haven’t finished reading the book on high-performance mysql yet
My major is: telecommunications engineering, mainly Learned: Analog circuits, digital circuits, assembly language and microcontrollers, PCB circuit board design, C language, microcomputer principles and interfaces, EWB circuit design, VHDL programming... and others I forgot...
Last semester, I have written an electronic clock using C language + 52 microcontroller, which can tell time on the hour. I bought the components and made a physical object, which consumes more power. The C code is more than 400 lines, which is considered a toy-level thing.
My biggest doubt now That is: I have a friend who works in C++. He seems to be able to understand the implementation principles of many programs, but I feel that I am still in chaos and cannot see the essence of the program clearly. I cannot understand everything. The books I read, I feel, Just like beads, they are scattered, as if there is a thread missing to connect them, but I can't find that thread. Programs other than the web are still very mysterious to me
All I can understand now is, Programs all process characters (the lower level point is 101010...), accept user input, and then use an algorithm to process it, and then save it in the computer in a suitable way, and display it when the user needs it. come out. This perception is based on my conjecture combining pyton, php, mysql, redis, command line mode, and 'hello world'...
What exactly is the problem, what knowledge is missing, how to make up for it, and how to become an advanced program as soon as possible As a programmer, I look at programs and computers from a new height. I think a qualified programmer, at least in terms of thinking, should not be limited by a certain programming language (I myself want to write a program in C and be able to Accept the input and save it, and then imitate mysql to do the function, I don’t know if it makes sense)
Reply content:
Thanks for the invitation.
Our old principal said, "Action is the beginning of knowledge; knowledge is the completion of action." So, if you don’t understand it, write the code first. To ask a question, first show me your code - now it should be show me your github. There are no tens of thousands of lines of code on Github, so there is no need to ask the question "How to become a senior programmer as soon as possible". Anyway, you won't understand the good advice given by others. We have a young guy here who has just debuted. His github submission record in the past year is like this:
Why don't you go and refresh your github like this before asking questions, so as to save everyone from wasting their time?
There are books. . . Computer Architecture (Douban) Construction and Interpretation of Computer Programs (Douban)
Strength = theory + practice.
A friend told me that if you want to become a master, it is very simple. If you persist every day for 4 consecutive years, from 6:00 in the morning to 23:00 in the evening, keep reading + doing experiments. After 4 years, you will be a master.
The books I have read are too poor/few. Find more good books to read. You probably wrote a lot of repetitive and useless code. Don’t pretend to work hard and green github every day, it’s useless, you can only impress yourself. (Wouldn’t it be green after pushing three different readme.mds?) Learn some new knowledge every day, dare to challenge yourself, and only when you leave your comfort zone will you continue to make progress (that is, when you write some code that feels so difficult, painful, and uncomfortable ).
A few words: Those who learn electronics are likely to enter the cycle mode of downloading source code, changing parameters, and burning programs, and ignore the learning of basic knowledge. So honestly go and take a look at the data structures, operating systems and other things you mentioned. You now know how to use each engine part and are familiar with the assembly method, but you don't know how this part is manufactured. @小京mo@Badger4us I suggest you read the programming introductory guides of these two people. It should be able to avoid a lot of trouble.
Pay more attention and think more
The foundation is not strong The earth is shaking I can tell you something responsibly Computers are all-inclusive Essentially, whether it is python c c++ c90 they are all computer languages You have to understand the key to why we need to program It’s because we have to communicate with computers For example, the computer is God. No matter you speak French, Spanish, Chinese, or Allahu Akbar, He can understand it So you have to understand how language works Every language has its owner Predicate object, definite state complement (I’m trying to hold back on learning a language, I’m just talking about some life experiences) Don’t learn complicated languages. If you say you want to get involved in C now, just thoroughly understand C. Ask yourself after work How many hours do you type code one day? Do you love computers or do you just make a living? Computer thinking, for example, you have to be very good at physical thinking to have an epiphany. Being able to solve a few physics problems is not called physical thinking (escape).
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn