/*/*/ Operating Systems, and Language Hell
Making an OS is not easy feat.
It's akin to climbing a mountain, a long rocky road that does not taste as good as rocky road ice cream. In fact, it'll taste like blood, sweat, and hours of research making your thing work well with the architecture.
Good luck if you're targeting too something other than x86/x86_64, as they are less common, and as such, more scarce in documentation, sheesh, then why do people do it?
Because it's AWESOME.
You made it, and you know it best! If something sucks, you change it. If other people say it suck, they can change it too, and help improve the whole thing. Brilliant stuff! But again, it's not for everyone! And I had to see this for myself when trying to make a little UNIX-like.
What's an UNIX-like?
It's basically most systems nowadays that were inspired by the UNIX Operating System, one of the most popular academic/corporate OSes to have ever come out! It introduced many things we take for granted today, like piping output from a program into another using '|'.
Your Linux, your MacOS, your BSD, they both are based in some way, shape or form around the principles of it, but went on to add things we like today, like support for modern IO (like USB!) and newer network standards.
And why did you try to make one?!
For the sake of it! I feel like going lower-level helps understand the concepts used in stuff, but it was quite tricky to just get started. Thankfully the guidance of OSdev helped metric tons! I sorta abandoned the thing after managing to get the cursor blinking, but it was interesting nonetheless. One project that inspired me was SerenityOS from Andreas Kling, he regularly posts about development on his youtube channel! Check it out :D
Why I have began to reside in C
It's a matter of how I see programming. Having gained a permanent interest in low-level thanks to studying electronics, it was only fair to choose the programming standard for it! I feel it is simpler to write and understand than the famous other language, C++.
Is C++ actually harder?
Yes and no. For the longest time I actually programmed quite a bit with C++. From doing 3D to 2D it's quite handy. But as I advanced further, I started to struggle with understanding more advanced features introduced in later standards of the language. They range from simple things like Lambdas and Templates all the way to doing loops at compile-time, and passing functions as objects which can pass more than 1 result which may influence other parts of the main function and also throw exceptions if used.
And the fact more of these things are being added every standard is not helping. No one can fully learn C++, and maybe that's not the point (use the tools you know!) but it's just getting ridiculous at this point for me. So I decided to move to the simpler option (even if not the kind of simple as checkers!)
I'm also not really into switching to what I call the C and C++ Hunters, languages solely created to address some sort of problem within them. They however have their own downfalls and overcomplications which seem to be the big thing to do in today's times. They have not concluded their objective anyways, if they were to, things would look like this.
I still am learning more about programing as I make use of more powerful things to make my games better. I like some enviromments more than others, but you may like those others. It's all a matter of how you see it, as I've said.