Daemon:
Thanks for any responses
Let's see. Your post is not longwinded. You don't need to learn C++ to learn D. On the other hand C++ has more books and free documentation around. But I think learning C++ is harder than D, because D is meant to be cleaned up compared to C++. Today if you know C++ you are able to use that knowledge in jobs, while D is quite less requested. C# is a fine multi-paradigm language for several purposes, and you can use it to learn almost anything in programming, even a bit of functional programming, dynamic programming, etc.
Representing ideas in a programming language is hard for most people, it's the human brain that shows its limits at managing that level of complexity. If you think you have problems in 'representing ideas in a programming' then maybe D is not going to help you much more than C#. You need exercises, done in a smart way, to do practice, to have one or more mentors to copy from, lot of time, good books, and so on. To do all this D is not better than C# (probably it's worse, because C# is widespread, has books and courses, there is plenty of software and projects around to contribute to or work for, has better tooling, and so on, so it's easer to exercise with).
Welcome to D again, bearophile
