Migrate from Java/C# to C++
Java / C# / C++ direct source code equivalents of standard libraries
This is a new series of posts. It concentrates on direct source code comparisons of Java, C# and C++. The goal is to show the approach differences. I did actively program in C++ over 15 years ago. The language is not entirely new to me. I developed a stock chart program and lots of tools in C++. The blog will help myself to get fully up and running in C++ programming again.
C#, C++ and Java all use a similar syntax. I have read two condensed introductory C++ books (all in all roughly 700 pages) in the last two days. The key problem, as far as I do know C++, is the usage of the library jungle. As I said in my C# posts already, it is not about knowing the language, it is all about the libraries and how to apply them. Learning a new programming language is just a matter of a few days once you know some programming languages already.
I will not cover Qt, which is a well known C++ Framework. It would simply exceed the time frame.
What type of readers do I expect?
You have read at least one C++ introductory book. You are a good C# or Java programmer, which implies that you know the difference of managed and unmanaged code. Some Assembler background does help a lot. These posts will not explain any source code in detail. They will just compare solutions. You should be able to understand the C++ code by knowing the C# or Java equivalent.
Sometimes it will be easy, sometimes it might be difficult, and for some solutions like LINQ or XAML support I have no idea yet (unless you use Visual Studio and run in a hybrid mode).
Java will be implemented after the first 3 weeks. Until then I will purely concentrate on a C# to C++ migration. Posts take a lot of time. My goal here is to get to a strong C++ level in just three weeks. So I have to reduce the amount of “nice to have” work during that time to be able to cope with my family and business life as well.
Basically you will run through the same steps in the end as I do to master C++. You will regain a good practical application level from an existing conceptual understanding. I have done that a few times in my life and it amazes me over and over again how fast knowledge can be re-activated when you have come across something in the past already.