DEV Community

Shviam
Shviam

Posted on • Updated on

Best way to learn a programming language

We all have at least one thought of learning to code. But many give up shortly because when you search "how to code" or "how to learn to code," you get so many videos and resources that it can get somewhat overwhelming.

Choosing a Learning Path

If you're interested in front-end development, you can check out ASAP Frontend. If you're interested in back-end development, or both, I would recommend FreeCodeCamp.

Breaking Away from Tutorial Hell

Recently, I started learning C and was able to code a tip calculator with user input and if statements. This was challenging due to the fact that C is a low-level programming language, meaning it takes more lines of code to do the same thing that may take one or two lines in a high-level programming language like Python.

To overcome this challenge, I used a study method called "blurting". Originally designed for memorizing text, blurring involves reading a page of code and trying to rewrite the entire page just from memory. Repeat this process until you can master it.

Blurting is also a way to get out of tutorial hell. After watching a tutorial, try to program the code without the video. Repeat this process until you can rewrite the entire program without the help of the video. You can also time yourself to track your progress. For example, I managed to recode the entire code from scratch within 24 minutes, 17 seconds, and 20 milliseconds. You can view the code here

Additional Tips

  • Practice regularly. Make coding a daily habit, even if it's just for a few minutes a day. The more you practice, the more comfortable you'll get with the concepts.

  • Don't be afraid to ask for help. There are many online communities and forums where you can ask questions and get help from other programmers.

  • Don't give up. Learning to code can be challenging, but it's also very rewarding. Don't give up on your goal of becoming a programmer.

I hope this helps!

Top comments (7)

Collapse
 
anitaolsen profile image
Anita Olsen

Interesting. This is my first time hearing about "blurting". I will have to try out that one! I have tried something similar to it in the past though but now as I know it is a thing, I ought to try it! Thank you so much for writing this!

Collapse
 
nightdev profile image
Shviam

i am happy to know someone finds my article useful. and it is meant for preparing for exam by reading the page with the question and answer and then close the book and try to rewrite the page. and thanks for the support.

Collapse
 
chasm profile image
Charles F. Munat

Just in time on real world projects. Forget the sandbox. Don't learn anything until you have to. Learn only what you need right now.

If you "pre-learn" (learn to warehouse or "just in case"), then odds are that what you learned you'll forget or will become obsolete before you need it.

Learning just in time is more than enough.

Collapse
 
hosseinyazdi profile image
Hossein Yazdi • Edited

Thanks for sharing! I guess CodinGame and DevChallenges can also turn programming learning very interesting.

Collapse
 
nightdev profile image
Shviam

Thanks, I will be sure to try them out.,

Collapse
 
dahle_123456 profile image
Dæhlie

Super cool! I am in his programming class, and he is talented! Fun that you also have a whole article where you try to expand other people's eyes to programming.
Keep up the good work!

Collapse
 
geetanjali profile image
Geeta

I liked yours approach and found this useful.