Back in October, GitHub released its 2017 Look at the most popular programming languages, open source projects, and more. As a programmer, of course, you care most about programming languages. To my surprise, the top three GitHub programming weapons are JavaScript, Python and Java.
\
There are 337 programming languages on GitHub, and JavaScript is no. 1 by a wide margin due to its natural open source nature and the popularity of its front end.
\
Python is a dark horse, coming in third last year and successfully overtaking the old stallion Java to second place. This year Python’s PR is up 40% from last year, and its popularity is no doubt due to the recent boom in related fields such as ARTIFICIAL intelligence, deep learning, and data analytics.
\
Some time ago, a reader left a message on the background asking me, “How do newbies get into programming and how do they avoid giving up?” In my opinion it is difficult to explain this problem in a few words.
\
Once, a friend recommended marquis’s course and course to me. I found it was more vivid and easy to understand than the course I had taught myself at the beginning. I could see that I had put some effort into typesetting and design, so I didn’t feel bored.
\
Later I learned that marquis’s learning experience was also different from those I had met. He was born in the design background, and unlike those who trained in majors, he could naturally develop programming thinking. Instead, he overcame the dilemma of getting started through self-study.
\
The following article, from the Marquis, tells the story of how an untrained Python engineer went from beginner to master.
The author | marquis (muggle programming founder)
\
When I decided to learn programming, I was so busy at work that I could only spare one hour a day to learn programming. At that time, I read all the books and courses recommended by everyone at home and abroad on Zhihu, but I could not understand the abstract and boring terms in the tutorials. Most of the basic tutorials consisted of dozens of chapters or hundreds of videos, which made me feel like I was memorizing A dictionary from A to Z, even if I had memorized them, I still didn’t know how to use them. The examples in the tutorial are mostly 1+1 and xiaoming’s height, which make me feel bored and useless. I can’t raise my interest in learning. That period of time learn to stop, learn very afflictive stop two days, can feel a bit unconvinced, why can’t I learn?
Later, I happened to see a foreign blog, which used a car example, so that I really understand the relationship between method and function. At that time, I suddenly realized that abstract concepts can be learned. As long as they are related to my own real life, I can always find some analogies to understand abstract concepts. Unfortunately, not every concept in the blog has examples like this, so I tried to imagine some analogies to help me understand the abstract concepts, and then typed some simple code to see if it was the same as I guessed. \
\
After using this learning method, I learned programming much more efficiently. In less than two weeks, I finished the main Python basics and established the basic knowledge model. And the reason that it worked for me, the reason that IT worked for me, the reason that I learned it, was because I had the situation, and I was programming it. Before watching a lot of tutorials, basically from the first chapter I think I can, but in fact I do not know how to learn this, this feeling has been buzzing in my brain. Those tutorials are actually about grammar rules, but this stuff doesn’t teach you how to speak. What makes you talk is the situation, when your mother asks you, “Baby, do you eat apples?” “, you will understand what eating means. And those tutorials are all rigorously teaching grammar, but with context, only beginners like me can learn.
\
After this experience, I can especially understand the feelings of beginners. Some programmers say things like, “Python is so easy, you can read the documentation and understand it” (subtext: I’m smart, I’m a straight-A student), or “If you can’t learn Python, you shouldn’t learn programming” (subtext: only someone as talented as me can learn programming). I think maybe they have been doing this industry for so long that they have forgotten the pain and struggle at the beginning of learning. People will tamper with their memory and think that what they have now is easily obtained, but the real experience is always bumpy and tortuous.
\
In order to make it easier for more programmers to start programming, I combined my learning experience with the core knowledge of Python to write a beginner’s book (which has more than 100,000 readers so far). As a result of this special experience, various opportunities were offered to me, and I did two more courses and became a Python micro major partner of netease Cloud Classroom.
\