How do I learn programming

in #stach6 years ago

There are various answer and some of them are very good but I found some rigidity in it . So I am trying to answer this in very different way and love to hear your feedback.
image
Don’t believe anyone who tells you learning to code is easy.

One of the most dangerous things I’ve seen happen to people who are just starting to code is being told that it’s easy.

Here’s what your brain does:

Most programming doesn’t require a special brain, but it’s more frustrating and messier than anyone lets on. There are thousands of enthusiastic blog posts, classes and apps that aim to entice you with the promise of a slick, unequivocal procedure for learning to code. They rarely mention the tedium of getting your environment set up (which, trust me, even the nicest of your programmer friends don’t want to help you with, because that stuff is mad frustrating and nobody remembers how they did it).

They don’t tell you that a lot of programming skill is about developing a knack for asking the right questions on Google and knowing which code is best to copy-paste. And they don’t let you in on a big secret: that there is no mastery, there is no final level. The anxiety of feeling lost and stupid is not something you learn to conquer, but something you learn to live with.

What I forgot is that the most common state for a programmer is a sense of inadequacy. As a programmer, there is a limitless amount of stuff to learn. You can become a specialist in one language or framework, but if your job is to build things efficiently, you will constantly need to be learning new tools and constantly feel out of your depth. It helps to be mentally prepared for feeling stupid.

The psychologist Mihaly Csikszentmihalyi came up with an insightful way of visualizing the learning process (for any discipline):

Adapted from an image in “Flow: The Psychology of Optimal Experience”

(good book to read if you have patience)

I’ve found my experience to follow that line closely, and would like to suggest this Recursive Recipe (name is just to look fancy.) for Learning to Program:

  • Follow a tutorial(any standard and good ,choosing it is a whole different question) step-by-step even if you don’t always understand what you’re doing. I like to think of Hunter S. Thompson copying the books of the Great Master on his typewriter. You’re getting a feel for how things are done in your new language/framework. This part should be easy, if boring, because you’re just doing what you’re told. [Incline of Optimism]

  • Rebuild the thing you just made or a slight variation of it. Try not to use the tutorial too much. Realize just how little you understood of what you were doing. [Fear tugs, slowing your ascent]

  • Try to build something simple that you actually want to make. Discover that you have absolutely no idea what you are doing. [Sea of Despair]

  • Find a new tutorial related to your new project. (Hopefully your tutorials are providing you with increasing background on the language.) Follow the steps. [Slight sense of understanding, rise in self-worth]

  • Rebuild the thing yourself. [Fear]

  • Start a new project. [Despair]

  • Repeat steps 1 through 6.

As long as you learn to grind through the frustration, you’ll come out on the hillsides and get a good view of your progress. Be okay with not understanding everything, trust that you are getting better even when you can’t see your progress, and don’t rush. Good luck.

1.7k Views ·

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.028
BTC 69984.84
ETH 2469.68
USDT 1.00
SBD 2.37