Programming beginners must see: what is the best way for beginners to learn programming? Make a note!


Answering this question is one of my recent concerns. Although many of the resources mentioned here are very good, I have noticed that successful students, no matter what kind of resources they use, tend to perform better than others in the following three aspects.

Focus on habits, not goals

Focusing on habits rather than goals may sound irrational, but let me finish – it’s a matter of balance. As anyone who has worked with me knows, I sometimes act like a fool, quoting RA’s al Ghul three or four times a day in Batman.


Bloc investors have been fed up with the frequent quotes from Batman: the mystery of the knight errant on the board of directors.

R’as told Bruce:

(when your arms are about to freeze), massage your chest and your arms will naturally warm up

If you focus on the habit of programming 20-30 hours a week, the goal of becoming a web developer can be achieved quickly. If you set your goal to become a web developer in a few months, you may get nothing under the pressure of uncertainty about when you can achieve your goal and how far away you are from it. Focus on habits, not goals. Massage your chest and your arms will warm up naturally.

So what you should do now: spend 15 minutes a day programming on your schedule. No more than 15 minutes, just 15 minutes a day. If you can stick to it for a week without any excuses, try extending it to 20 minutes a day. Don’t try to over expand your ability by programming for an hour a day. Programming is a 10000 hour marathon, so we should focus on developing habits. Instead of spending a lot of time learning programming in a day, it’s better to spend a little time every day, but be able to persist every day, because it’s more effective.

Learning alone is very painful

When I was learning web development, having a mentor and joining a community were two of the biggest components in my learning process.

Have a mentor

When I was in college, I was in a company called Working in a small start-up company. During the summer vacation, I worked with a co-founder of the company, and I learned more during that time than I had learned in college the previous year. Working with an experienced professional can really speed up your learning. You will learn how they think and find your own shortcomings. That’s one reason why apprenticeship is often the default standard for learning a new skill, because it’s very effective.

Join a community

I joined two communities, the Illini entrepreneur network, and Hacker News, a large online community for hackers and entrepreneurs.

I didn’t learn anything about objects and classes from hacker news, but I learned something else. I’ve learned that no one likes JavaScript. I’ve learned that Ruby programmers are very popular in programming. I’ve also learned that BRET Taylor, rich Hickey, and John Carmack are leaders in the programming world, and that software companies that really care about their employees have kitchens that look like doping labs.

All in all, I learned how to speak jargon. This is very important when you work with other programmers, and that’s why you feel like a programmer.

Project practice

In the first year of learning web development, I started to implement the following projects:

A clone of Digg (from the rails example in the Sitepoint book, which I think is out of date now)

An online shopping application (from agile web development with rails 4)

Geesque (a personal APP)

A real time online classroom application (personal project)

A foreign language learning application (course project)

I think there are many reasons why building a real project is so important, and one of the most important reasons for me is that it’s fun. This is exactly what is seriously missing in the traditional education, and it has become one of the most important reasons. Looking for reference resources on how to carry out project practice, It’s a good choice.

We should have the spirit of “small strong”

For those of you who can keep reading here, I’ve added a fourth item. Paul Graham once said to the founder of airbnb:

“You guys won’t fail, because you’re just like a cockroach that won’t die.”

For a while, you may give up learning programming. Like anything with the same value, learning to program is really hard, and sometimes you feel really stupid. That’s why the first strategy is so important – don’t worry too much about whether progress has been made or how long it will take to achieve the goal. All you have to do is do 10-30 hours of programming a week. Just like the persistent “Xiaoqiang”, you will not fail.

Many years ago, I said, “persistence is the key to success”, which is often quoted by others. People often mention to me that they want to write a script, they want to make a movie, they want to write a novel. For those who ultimately succeed in achieving their goals, 80% of the time they do it first. Those who fail in the end, they can’t even do it. That’s why they can’t do a thing. They don’t do it. Once you do it, if you really write a screenplay or a novel, in fact, you’re more than half the way to success. This is the biggest success I can tell you in my life. The rest are lessons from failure.

–Woody Allen

Learning C / C + + programming knowledge, want to become a better programmer, or you have difficulty learning C / C + +, you can come to the author’s C language c + + Zero basic programming learning circle. There are not only learning video and file source code, but also more like-minded friends. Welcome to change careers and learn programming partners. Communicate with you and grow faster than yourself!

Recommended Today

The course of using Chinese software of poedit Pro

Poedit pro (formerly known as poedit) is a free (professional version charge), open source and cross platform gettext class (. Po format, gettext is used in the application program for program internationalization) International Translation editor. It is also one of the most widely used software of the same type. At present, it is available in […]