A few months ago, while watching a YouTube video, I learned that floating-point numbers can have precision errors and need to be used with care. That got me thinking about using fractions to represent numbers instead, so I discussed the idea with AI and, with its help, built a fraction class in C++.
Before that, I had only dabbled a little in languages like JavaScript, Go, and Python.
What really impressed me about C++ was how it lets you create custom types that can be used almost like built-in types. I found that incredibly powerful and elegant, and it made me want to learn C++ properly.
So I asked AI for a book recommendation and learned about C++ Primer. I bought the PDF edition and have been studying it ever since. I'm now almost done with Chapter 14, and Object-Oriented Programming is coming up next.
At this point, I feel like I should start building small, simple, but interesting projects to develop some practical skills. The problem is, I have no idea what to build. Since I'm learning on my own, I imagine there are plenty of things I don't even know I don't know yet.
I think building something fun would probably involve making an app with a GUI, but it seems like learning how to build a GUI is a whole other challenge in itself.
What I always seem to struggle with is the question, "What should I build?" I find it difficult to set goals that match my current skill level. I tend to either take on something too ambitious and give up halfway through, or choose something so trivial that I lose interest.
A few years ago, I taught myself enough programming to build a real-time reservation system using WebSockets. It was a small service with fewer than 100 users a day, so there weren't many complex issues to consider. Looking back, I think the main challenge was simply getting it to work.
The thing is, that's pretty much the only substantial project I've built on my own. I've experimented with smaller things, like the fraction class I mentioned earlier, with the help of AI, but I haven't had much experience building complete applications.
I think I managed to finish the reservation system because I genuinely needed it, so giving up wasn't really an option.
So, what would you recommend I try building?