I'm diving into the world of programming, aiming for a balance between casual learning and in-depth understanding. With so many languages out there, each claiming to have its advantages—like automatic memory management or simple syntax—it's quite overwhelming. I feel that many new languages exist because they help us avoid the complexities of C/C++ and memory management. What I want to know is: what's the best approach for someone like me? I'm interested in understanding computers at a deep level, possibly creating things that run directly on the CPU, like compilers. However, it would also be great to find a language that helps me land a job and allows for quick idea development. Here are a few projects I'm considering: creating a game engine, an operating system, desktop apps, and web pages. For the first two, I'm not looking to build fully-fledged applications yet—just something simple yet challenging that helps me grow as a programmer. Thanks for any advice!
3 Answers
Why not start off with something simple like creating a webpage? Just create a new file called "hello.html," fill it with some basic HTML, and open it in your browser. It’s a good starting point to grasp the fundamentals. From there, you can gradually add more content, like lists and input fields, and then style it with CSS. Once you’re comfortable, throw in some plain JavaScript to add some interactivity. This should keep you busy for at least a week or two! After that, you can see where your interest lies and explore further.
It's important to understand that different skills apply to different areas. If you're hoping to showcase multiple skills in interviews, it might lead to spreading yourself too thin. For example, companies looking for OS developers typically have a focus on low-level hardware. On the other hand, web development is more about customer-facing companies, while desktop applications cater to custom software. I'd recommend you pick one area to focus on based on what's in demand in your local job market. If you’re leaning towards low-level programming, C or C++ is where you should start, maybe even considering Arduino or embedded projects as a fun introduction.
If you're serious about diving deep into programming, I'd suggest starting with C, C++, or Rust. These languages are excellent for building game engines, operating systems, and desktop apps. C# is a bit easier to pick up but isn't suitable for OS development. For web development, you typically juggle multiple high-level languages like HTML, JavaScript, and CSS (only JS is the actual programming language here). For backend work, pick up a server-side language like C#, PHP, or JavaScript with Node.js. Interestingly, you can even use C/C++ for web development by compiling to WebAssembly if you want to explore that route!

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically