Hello guys, I have read a c++ book entirely and I am reading the second one. My problem is about programming is that I want to learn everything from really low level to up. Maybe I want to build my own OS, graphics, drivers, network system, etc. I really want to do low level stuff. Maybe make my own compiler or learn entirely how does a compiler work. I do love creating things, creating my own system, i love that what you told to PC does what you said. I most likely don't do practice due to my seeking for more information. I don't know how to deal with it. I do read books instead making my own programs. Help me find a way. What should I do, can I find all information I need ? I am okay if it even will take years of my life. I don't know if thats ego or what. Thanks for your answers.
Do not just read. You will not retain the information. You must practice what you read to truly learn it.
I don't know of specific links for building an OS or drivers, I'm sure others do. Apparently this is a wiki page that people suggest https://wiki.osdev.org/Getting_Started but I do not know its quality. It will be complicated, but it's certainly possible if you want to dedicate yourself to it.
As said Ganado, Don't just read. It's ok to have the information but if you can't use it it's sort of useless.
Start small, learn to do the smallest things, then build on top of it. There are some things, and habits that you will only learn and get by trial and error.
Programming is like a form of art in some way, everybody can do it, but everybody will do it in a different way. We think differently, so the logic that comes out of it is unique. Practicing will show you how you think, and how you can improve.
Would you be confortable coding a binary tree without having ever made a "hello world" program? I would be skeptical about that. If you can though, all hail to you!
It's praiseworthy that you like to read books. Good books are an excellent source for learning.
But as the others said without practice it's not useful. I would suggest that once you read sth. you write some code. In this way it's easy to see if you understood properly.
Imagine reading all available cooking books without cooking anything. You will always be hungry.
Maybe I want to build my own OS, graphics, drivers, network system, etc. I really want to do low level stuff. Maybe make my own compiler or learn entirely how does a compiler work.
You are probably talking about many, many years. I hope you are still young.
You sound just like me! I've always been fascinated by the low level stuff.
Programming is like football. It's a skill that requires practice. You wouldn't try to become a good footballer by reading lots of books about football, would you? You have to get out there and actually do it. Write some programs now. Otherwise you'll read and read and read, but when it comes time to create some code, you'll fall flat on your face.
Start with the relatively easy stuff that shows up here on the forum. Since you're interested in low level programming, you might then want to pick up and arduino and play with it. This will give you some experience interfacing with real-world devices. The arduino still hides lots of stuff, but you'll get a sense of interacting with hardware.
As for how to proceed. After getting some fluency in C++, you should study computer architecture and maybe do some assembly language programming. Then maybe learn about device drivers and consider writing a driver for something simple.