I started out wanting to program games and I'm still working towards that goal. One field I find fascinating is development of artificial intelligence, but I'll never have enough skill to work on that.
Thanks for your recommend I know that but I think learning c++ contains learning OpenGL and other libraries
OpenGL has nothing to do with C++. It is just an API specification, with implementations available to many programming languages, not limited to C or C++.
So no, learning C++ does not imply learning OpenGL. However learning C++ implies learning its standard library.
>OpenGL: this runs on all platforms (windows,linux and OS X). Less creative than DirectX
Less creative? What on Earth makes you say that?
OpenGL is generally used in more mediums than DirectX, due to its portability. I doubt there has been a field in which it hasn't been 'creative' enough for substantial use.
To answer the original question:
- Hated IT Tech Role, left for further education.
- Studied C++ in Games Software Engineering degree.
- Started programming professionally (non-games) in 3rd year of degree.
- Decided didn't want to work in games.
- Completed degree with First Class Honours.
- Took graduate role at large computer company.
- Program games in spare time....in Java.
Be aware that making games is only a small portion of the industry of software development. There was a guy I knew that worked for Obsidian on Neverwinter Nights 2 and said the last thing he wanted to think about when he got home was playing that game. Not to say you wouldn't be inspired to still be a gamer when being a game programmer (because most do it exactly because they have a passion for gaming), but there's just a quick example to show that people are complicated and life is complicated, and thus the reasons may be.
Some people get inspired by something initially like wanting to work on games, but sometimes life happens. Career paths change and opportunities do or don't present themselves... life's an ever-changing story. One day you'll understand it isn't as simple as "I want to, therefore I do it". Don't wanna be a kill-joy, just a bit more realistic. I also believe that a mindset of "never", "don't" and "won't" is poison to the young and dreams. Aspire to want you want to be, definitely continue to pursue your dreams, but also remember to be flexible with the journey.
I know life is hard but if you want to do anything just do it and never mind about if you will be richer or stronger after doing it. There is an old saying in Türkiye: Who considers his ending can not be a hero.
Why am I learning C++? Because you never stop learning. No matter how much I know, and how much I do, there are always new things to learn, new techniques, new libraries, new principles and paradigms. I've been doing this for over a decade, and I'm not done learning yet.
No, no, no, I don't want to be a hacker, I want to be capable of hacking so that I understand better how a security system works. I feel like knowing how computer security works would advantage me as a programmer.
As to what I would like to program? Add-ons to programs, make-life-easier software, eventually a game or two. Maybe server stuff later. (hence the security)
I like how fast c++ is, and how it is compiled and not interpreted. I also enjoy how it is statically rather than dynamically typed.
C++'s syntax, while a pain in the butt to learn and a pain in the butt to type out, seems like it would be nice for large projects that would take a similar amount of time to program in a "simplified" language. (I hate js - which was my first real programming language)