I know C and Python, and I’m moving toward another language for learning purposes. My problem is that I like to learn things with something to do (for example contributing to some project or do something amazing, not boring plain algebra).
I would like to hear suggestions about the fields in which C++ shines and where I can find interesting programming with C++. (For fields I mean networking/GUI programming/algorithms/games …)
I confirm that I’m interested in open source projects/development.
I will share which fields I use the language in and why I use the language over others. Perhaps you can decide if my reasons qualify as ‘shines’.
Which fields:
Device drivers, file system drivers, GUI development, algorithm modules, protocols and communications, application frameworks, data manipulation, storage handlers, system emulation.
Why:
I want to write code that is portable across a broad scale of architectures. From small 16-bit embedded systems to large enterprise platforms. This is because I dislike solving the same problems over and over again. C++ compilers are available for more platforms I target than any other OO language. I do lose this capability on very very small (i.e. 8-bit) systems but I’m not spending much time in that space anymore.
System code can be written (i.e. device drivers, FS drivers, etc.) as those require a language that compiles to native code. With careful selection of language features and libraries used it can be nearly as compact as C.
Broad usage among compiled languages so there is peer experience to draw upon as well as available libraries and source code.
Deterministic and predictable behavior over long execution runs (months to years) since the memory management scheme may be carefully selected for the application’s needs.
Acceptability to my clients. They are assured that the work is maintainable since a significant pool of developers exist in the market.
I hope that helped a little.