My Uncle Suggested I Stay Away from Python and Start with Assembly Language…

My Uncle Suggested I Stay Away from Python and Start with Assembly Language...

As a programmer, what was the first programming language you encountered and learned?

According to the “2021-2022 China Developer Survey Report”, the historically significant assembly language is the most disliked programming language among programmers (37%), followed by C++ (17%) and C (16%).

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 there is no concept of pointers; all variables and functions are replaced by offset addresses on the stack or heap. Compared to high-level programming languages, assembly clearly lacks readability, development efficiency, and portability.

Therefore, we naturally think: In 2022, surrounded by many high-level programming languages, is there still someone who would consider assembly as the first programming language for beginners? There is; recently, a Reddit user (hereafter referred to as “Little R”) posted: “My uncle, a former programmer, suggested I start with assembly language…

My Uncle Suggested I Stay Away from Python and Start with Assembly Language...

Reason for the Suggestion: You Should First Hammer the Hardest “Nail”

Little R stated that they recently developed an interest in learning programming, so they asked their uncle, who used to be a programmer, for beginner advice. The uncle immediately said: “You must stay away from those simple 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 the new skills well within a few days. It wasn’t until he encountered C language that his self-perception was completely overturned—he was “severely” challenged for a while, and the foundational skills he had previously mastered were completely useless 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’ that can absorb a lot of knowledge, and there are many internet guides available. You should first hammer the hardest ‘nail’, using assembly or C as your first language, so that you can easily learn anything afterward.”

My Uncle Suggested I Stay Away from Python and Start with Assembly Language...
(Image source: Visual China)

No Need to Avoid High-Level Programming Languages

Clearly, Little R’s uncle’s remarks contradict the choices of most programmers in reality, and Little R was thus confused and posed the question to the vast number of netizens: “What are your thoughts on this?”

Some netizens believe that someone who expresses such views is definitely an older programmer:

  • “He is telling you to do something he himself has never tried, and this viewpoint seems to come from 30-40 years ago.”
  • “Your uncle is too old-fashioned. If he graduated before 1980, it can be understood, as assembly was quite common back then. But after 1990, there were gradually more options available.”

Some netizens jokingly remarked that this learning method is too much about ‘going back to the roots’:

  • “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 survived to this day must have its significance, and assembly is no exception. Assembly language, which is disliked by many programmers, is more suitable for low-level hardware, such as microcontrollers, industrial control, and real-time control; it is more streamlined 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. Programming today is really dumbed down; even those who have never learned programming can quickly self-learn programming in a short time.”

To be fair, mastering assembly can indeed lead to a deeper understanding of the underlying principles of computers, but that does not mean one must avoid high-level programming languages—nowadays, the development efficiency and applicability of high-level programming languages far exceed that of assembly, aligning more with the efficiency sought 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, you can at most have a basic understanding of assembly according to your own abilities.”

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

My Uncle Suggested I Stay Away from Python and Start with Assembly Language...

🏴☠️ Treasure-level 🏴☠️ Original public account “Data STUDIO” has super hardcore content. The public account focuses on Python as the core language, vertical to the field of data science, includingclick here 👉 PythonMySQLData AnalysisData VisualizationMachine Learning and Data MiningWeb Scraping and more, from beginner to advanced!

Leave a Comment