Most people used it as a sort of Pascal failing to understand the advantages of
1) Opaque Modules
2) Procedure Variables
3) Anonymous arrays etc of same size not compatible / Stronger typing
4) dynamic sized variables
5) Co-routines and Stack frames etc as part of language to create multi-CPU, Multi-threaded, Mutexes etc
6) default on Compiler features such as array bound checking
7) Zero need for ANY global variables (i.e. Local Persistent variables for repeated calls of function/procedure in a Module) or "global" only to nested modules
8)Separate compilation of modules without DLLs.
and many other features alien to Pascal. The only aspect of C++ better is syntax for objects (as M2 can do them sensibly). The failure of C++ is C compatibility. Too many C++ compiled programs are traditional C style. Doesn't anyone read what Bjarne Stroustrup (father of C++) said about C?
C# is of course really MS version of Java, and a creditable effort. No point in VB.net if you bother to learn C#
(The VB6 is another story, if you pretend you are writing C++ or Modula-2 in it and never did BASIC or Fortran).