How to improve programming skills for novice programmers

Source: Internet
Author: User

In fact, many people learn programming will encounter difficulties, I think one of the root cause is that they do not understand what to learn programming in the end.


Programming is not a knowledge, but a craft.


We are from small to large learning is learning knowledge, process is generally read before class preview, class listening, class to do homework, and then review the exam. But it's not the way to learn the craft.


Let's take a swim for example, swimming is not knowledge, but skill, also can be a door craft bar.

Do you need a preview? Do I need to listen to class? Do not need, because two-year-old children can learn to swim, they even words are not very can say, how can listen to preview it. Swimming is through the practice in the water, the instructor hands-on to teach the action, 1.1 points to improve the proficiency of the Institute.


We come again to see the piano, to learn to have piano, the basic knowledge of music is also the teacher in the gap between the training, and will certainly combine the practice, and the time is very important to ensure that certain practice, some of the ideal of the piano children practicing piano time can be described with inhuman.


Don't think of programming as knowledge, computer science is knowledge, but programming is craftsmanship.

Since is the craft must use the study craft the thought to study.


To hands-on practice, reading study supplemented, or even extreme point, when beginners in addition to see the necessary documents can not read, and so on a certain programming basis and then go to read books, read the book immediately hands-on programming to verify the theoretical knowledge of the book.

Practice must be gradual, to break down the craft into a few simple movements, repeated practice until the proficiency, and then the basic movements of the combination of practice until proficiency. Take the C language example, starting with a well-written Hello world, and then familiarize yourself with the basic keywords such as the If for while, and then familiarize yourself with string manipulation, memory manipulation, practice finding basic algorithm data structures such as sort binary trees, and then learn a small framework ....

Find a master, a major feature of the craft is that self-study is very slow, and easy detours, and some hands-on teaching to be much faster, the craft has a lot of details, practical experience, need to feel the things, these details of the basic will not have.

Persist in doing a lot of practice, the number of lines of code for example, about 50000 rows per year is a more general practice, there will be perseverance can challenge 100,000 rows. (Some people say that the number of lines of code does not mean anything, the number of lines is not necessarily the program is right, well-written program code rarely blablabla, roll, go to say with Lang, tell him actually not to practice so long time piano. )


Memories of how they learned how to ride a bike, learn to swim, learn to play basketball, according to the idea to learn programming, rather than use you study the idea of college curriculum to learn programming.


Remember, programming is craftsmanship, not knowledge.


======

Finally, the best metaphor for the nature of programming ability is to play the piano. But with the programming ability is not a good programmer, good programmers are composers, they can not only come up with beautiful melody, and can play out, like a good programmer can not only come up with a graceful algorithm architecture, and can turn it into executable code. It's hard for you to imagine a composer who doesn't have any instruments.


A lot of people's problem is to be a composer but not to work hard to practice.


A preventive needle, it is estimated that some people will cite a counter-example said I knew that a certain composer does not have musical instruments (actually have).

What I'm saying is, when you become a well-known composer, you say you don't have a musical instrument.

That's idiot before you get to fame.


How to improve programming skills for novice programmers

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.