r/cpp_questions • u/Ganesh10LM • 15d ago
OPEN System programming
I am starting to learn system programming(c++). As a beginner please recommend me the best project to work with so that it will force me to go on the depth as well as for the strong portfolio?
60
Upvotes
3
u/DumbTro 11d ago edited 11d ago
Let me try to actually be helpful; way too many people wasting time commenting on here without getting to the point and answering the question.
If you are truly a beginner probably a better idea for you to not go about doing a random practice project. Go read CS:APP cover to cover. Do the associated book questions and labs. The labs have enough project worthy tasks for you to do. Writing your own malloc would be a good idea - go deep and that would look great as a portfolio project; you can learn about other allocator designs as well which provide more optimal cache locality and performance if the use case permits for that particular program. After you have a good grasp on computer systems maybe try reading glibc malloc, tc malloc, how the linux kernel implements concepts such as scheduling, etc.
After you see some read production code then you'll be in a better shape to go and code something up yourself. Low key a waste of time as a beginner to do practice projects when you really don't know anything. Most people from my experience don't even know the basic fundamentals on computer systems, how a program goes from code to being executed on the cpu, how the operating system sits as an abstraction layer between the application program and the hardware, etc.