Hi,
I use VB .net for quite some time. Before that I used Qbasic, BASIC on the C64 and Amiga, etc. On the C64 I did learn how to program assembly on the 6510.
Over the years I glanced at TurboPascal and Turbo C, but never really got to use them, as they were essentially compilers for DOS and Windows95 was already a thing.
I tried a few times to learn C++, but the truth is that I always failed in doing so. The books I tried to follow only focus on console applications and try to explain concepts with databases examples, which do not interest me that much.
C# never motivated me, as I can get the same end-result using VB .net.
One of the problems I always had with C++ is that C++ as a language is one thing, VC++ including GUI and Windows API is another!
It seems quite overwhealming for the occasional programmer to get into Windows API and building a simple form with a button that shows a "Hello World!" message box is much less trivial than doing the same with VB .net.
However, I have come to a point, where the development of scripts/applets/macros/post-processor for CAD/CAM software is not done in some internal language and/or .net, but rather in Python or C++ (for example Fusion 360).
I think that I must learn C++ at this point, so my question is: what would be the best approach?
Should I first learn C on a console and then learn C++ on top of it?
Should I immediatly go for C++ on a console?
Since I am going to learn C++, why not learn VC++ and be able to develop complete stand-alone applications, too?
Another frustration I have is that I would like to use given DLL's. Under VB .net I was never able to include them in my projects, as you can only do that with DLL's which were build with .net themselfes. Otherwise you need a wrapper, but that never worked with the DLL's I wanted to use.
Finally, coming from the CAD/CAM world, I would like to learn how to do OpenGL and DirectX, but I fear I am not smart enough to handle these.
So, here is the question again: how should I start the learning process?
Ideally I want to be able to develop VC++ applications in the end.
Thanks,
Vitor