As a programmer, what was the first programming language you encountered and learned?
As a machine-oriented programming language, assembly language is indeed very precise, but it is not very friendly to programmers—it is hard to remember, and it lacks the concept of pointers, with all variables and functions replaced by offset addresses on the stack or heap. Compared to high-level programming languages, assembly clearly falls short in readability, development efficiency, and portability.
So, we naturally wonder: In 2022, surrounded by numerous high-level programming languages, is there still someone who would recommend assembly as the first programming language for a beginner? There is; recently, a Reddit user (referred to as “Little R”) posted, saying: “My uncle, a former programmer, suggested I start with assembly language…”

Reason for the Suggestion: You Should First Hammer the Toughest Nail
Little R expressed that they recently developed an interest in learning programming, so they asked their uncle, who used to be a programmer, for beginner advice, and the uncle immediately said: “You must stay away from those easy high-level programming languages like Python or Ruby.”
The uncle explained to Little R that when he first learned basic coding, he thought he was a genius because he mastered new skills well within a few days. It wasn’t until he encountered C language that his self-perception was completely overturned—he struggled significantly for a while, and the foundational skills he had previously mastered were of no use in learning C.
“Simple programming languages clearly won’t teach you anything about how programming and computers actually work. You are still young, with a ‘sponge brain’ capable of absorbing a lot of knowledge, and there are many online guides to refer to. You should first hammer the toughest nail and take assembly or C as your first language, so that you can easily learn anything afterward.”
No Need to Avoid High-Level Programming Languages
Clearly, the uncle’s remarks are contrary to the choices of most programmers in reality, and Little R, feeling confused, threw the question to the wider internet community: “What are your thoughts on this?”
Some netizens believe that such a viewpoint could only come from an older programmer:
-
“He is telling you to do something he hasn’t even tried himself, and this perspective seems to come from 30-40 years ago.” -
“Your uncle is too old-fashioned. If he graduated before 1980, it is understandable since assembly was quite common then. But after 1990, there were gradually more choices.”
Some netizens jokingly remarked that this learning method is too ‘back to basics’:
-
“It feels like saying that before you drive a car, you must first know how every part works.” -
“If that’s the case, then learn semiconductor physics first, then transistors, then CMOS logic, then logic gates, then digital circuits, and finally computer architecture to truly showcase your uncle’s ‘greatness’.”
That said, every programming language that has persisted to this day must have its significance, and assembly is no exception; it still has a presence in modern operating systems. The assembly language, which is disliked by many programmers, is more suitable for low-level hardware, such as microcontrollers, industrial control, real-time control, etc. It is more concise and has higher operational efficiency.
Two years ago, a programmer who had learned assembly shared:
“I also learned assembly, and writing a program requires many commands, and the thought process must be clear, which demands a very high IQ from programmers. I used to work with several programmers who graduated in the 1980s, and their IQ was indeed very high. Nowadays, programming has become very user-friendly; even those who have never learned programming can quickly self-learn in a short time.”
To be fair, mastering assembly can indeed lead to a deeper understanding of the underlying principles of computers, but this does not mean one must avoid high-level programming languages—now, the development efficiency and applicability of high-level programming languages far exceed those of assembly, aligning more with the efficiency pursued by modern enterprises.
Finally, quoting a netizen’s suggestion: “If you want to become a compiler developer or a hardware engineer, you can study assembly well; but if you are just engaged in software development, at most, you should have a basic understanding of assembly according to your ability.”
So, as a programmer, what was the first programming language you encountered and learned?
Reference link: https://www.reddit.com/r/learnprogramming/comments/wedgo2/my_uncle_a_former_programmer_has_recommended_that/ Source: Programming Life
–End–
1、想领取赠书,加我微信,朋友圈不定期送书;
2、想咨询学习,加我微信,每次咨询仅9.9元;
3、更多需求(学习 代码 视频剪辑),都可以加我微信,欢迎咨询。
扫码即可加我微信
分享
收藏
点赞
在看