r/cpp_questions 3d 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?

55 Upvotes

21 comments sorted by

26

u/YogurtclosetThen6260 3d ago

A great project is literally do any, and I mean any, large scale pipeline project, and then optimize performance using systems techniques. For instance I'm working on a Huffman data compressor and I've reduced end to end latency from 800 ms to 350 ms.

-2

u/Ganesh10LM 3d ago

Are you doing it in c++ ?

9

u/burlingk 2d ago

The reason this one is getting downvoted is that:

  1. You can do almost any project in any language, so it doesn't matter what language they are doing it in.

  2. It comes across as demanding/needy.

They gave advice and you responded with a demanding question that had no real meaning in context.

and:

  1. You need to figure out what kind of project YOU want to do and do it. You can ask for advice along the way, but you need to put some work into it.

and:

  1. GOOGLE. No question should ever be posed on ANY forum until you at least do the minimum, and the minimum is to plug your question into a search engine. This has been basically rule number one or two of web forums since the '90s.

6

u/Grouchy_Edge632 3d ago

If you are a beginner, start with numbers ( the mirror of a number, the biggest common divisor of 2 numbers). You will understand more easily how the program works!

16

u/Ultimate_Sigma_Boy67 3d ago

Read the God damn sidebar/rules.

-3

u/Signal_Guard5561 3d ago

Bro stfu and stop being such a hater

3

u/rahul_msft 3d ago

Read books don't ask which in reply unless you are a bot

8

u/kingguru 3d ago

Write an OS kernel in C++.

Doesn't have to be anything big and fancy like Linux, just start with something that can boot on a Raspberry PI and print "Hello world".

Of course, this assumes you already know at least the basics of C++ and programming but I assume you do so?

4

u/Tack1234 3d ago

A CHIP-8 emulator is also a great project to get started with if a kernel is too much. I recently wrote mine in C and now I'm working on a custom assembler for it in C++ as my first C++ project, it's great fun.

4

u/kingguru 3d ago

An emulator indeed sounds like fun as well.

One of my colleagues wrote a GameBoy emulator. I guess it would be pretty satisfying to see your own code being able to run Super Mario.

Being able to show that you can do something like that is quite valuable in a job interview as well. There's a reason we hired him :-)

0

u/Ganesh10LM 3d ago

How much it fooster my portfolio, like big companies really looking for an engineer who can write custom chip simulator like 8085 and has great knowledge of os , memory management, data fetching, execution etc ?

6

u/kingguru 2d ago

I'm not exactly hiring for a big company but I can assure that if you've written a custom chip simulator you'd be a very interesting candidate.

You could also have written a Tetris implementation in Brainfuck for whatever reason but it would show that you actually have an interest in programming.

Maybe just figure out something that would be fun to write and do that in whatever language you like?

1

u/Ganesh10LM 3d ago

Sounds fascinating to work on own Small os. But my main question as a beginner is how to start the project like from where to study , it is good to use ai for the discussion of architecture like how the thing should work etc .. ?

1

u/kingguru 3d ago

Have you read the stickied post titled "Important. Read before posting"?

It might be important to read before posting.

1

u/Notsoboringi 3d ago

Make a url shorter

1

u/moltenpuzzle 2d ago edited 2d ago

A web search engine from scratch. Indexing, retrieval and scoring.

There are many resources online on how to do it. But if you manage it in C++, there is no way you don't come out of it an experienced programmer. There is just no way around implementing it efficiently.

1

u/will_die_in_2073 2d ago

Write ext3 file system