Как новичек новичку скажу по поводу 5 пункта: легче начать с C#, но правильней C++ так как:
- C++ мультипарадигменный, а C# - нет (чисто ООП)
- C# решает проблемы, которые в C++ нужно решать самому.
- C# неявно использует механизмы, которые используются в C++ явно (например, указатели).
Таким образом, практика C++ покажет почему C# устроен так, а не иначе.
P.S.: лучше вообще изучать тот язык, которому тебя сможет обучить кто то знающий =)