Learning C++
Table of Contents
I've been writing programs for almost a decade by now and have mostly used higher level 'safe' languages, apart from a small adventure into Unity when I was 15 or so. Now I want to learn C++.
1. Some background information
Lately, I found myself in the need for a simple ERP system that involves inventory tracking, price calculation, as well as order and purchase management. For now, I'm using Craftybase, but overall I'm unsatisfied with it being billed on a recurring payment structure ('subscription').
Looking at its features, I have to say that it looks fairly simple and is basically just a beautified CRUD interface with some SQL Query results being displayed here and there.
This is why I decided I want to code my own version of a similar ERP, just with a few changes.
What's most important to me, is to have a really nice CLI and TUI interface, good multi-platform compatibility, as well as an extensible API / backend (at least down the road).
I started referencing a list of TUI libraries and found myself dumbstruck by the age old question:
Which programming language should I use for this?
2. Why I want to learn C++?
Although there are many libraries available for modern languages like Python, Rust or Go, I feel like these provide me with a lot of default styling which I don't really want or need.
I want my app to look simple and hand-made, not like a bunch of strung together, prefabbed, components.
I also want to learn more about coding and how computers work on a fundamental level, with the goal of writing some low-level / embedded code soon. Not necessarily for this project, but for others.
Thirdly, I think it would be neat to not always have to ask myself 'Which language should I use for this?', comparing available libraries and then deciding based on that. I want to be able to write more of my own code and implement stuff in ONE common language.
For all of the above reasons, I chose C++ as my next language to learn. And I don't want this to be another language that I learn, use for a project or two and then rarely look at ever again. I'm going into this with the desire for deeper understanding and recognize its probably gonna take a year or so until I feel comfortable.
3. My first learning resources
As of writing this article, I have a copy of 'Accelerated C++' by my side and will simply start reading and working along with the book. Let's see how it goes…