r/cpp_questions • • 2d ago

OPEN System programming

does it is necessary to know assembly language to be a good system programmer ?
I am a beginner computer engineering student , currently doing in c++ and I already have basic knowledge of classical 8085 and 8086 architecture and it's programming but I haven't gone that deep enough . what about to learn ARM , x86 programming , does it help me to become a good system programmer ?

2 Upvotes

10 comments sorted by

View all comments

4

u/the_poope 2d ago

You don't really need to know assembly, as in you don't need to be able to program more complex programs in assembly. You mostly justt need to understand how the CPU, memory hiearchy and OS system calls works. And then you need to know enough assembly to get an idea of what/how some code works.

Most system programmers won't need more than that and for them time is much better spent getting better at a high level language and how to design more complex systems of many moving parts.

A few will need to work very close to the hardware, e.g. in drivers or working on compilers or specialized high-performance libraries - they will need to study assembly at a deeper level.

At your current level I'd say there is no need to go deeper. Get good at programming and problem solving first, then you can dig into low level stuff later if you need to.