RE:¿Que diferencia hay entre C# y C++?
La "historia" es relativamente facil. No es real lo que te cuento (lo de que java sale de C++), pero te sirve para hacerte una idea.
Primero estaba C. Es un lenguaje orientado a funciones.
Luego le añadieron la orientacion a objetos a C y salio C++. C++ contiene todo lo de C mas la orientacion a objetos (clases, herencias y polimorfismos).
Luego, entre otras cosas, quitaron la parte de C de C++ y quedo java. java, aunque no tiene mucho que ver, es un lenguaje de sintaxis similar a C++ pero 100% orientado a objetos (solo tiene clases, no hay estructuras de datos ni funciones que no pertenezcan a una clase).
Luego llego Microsoft, intento hacerse con java a base de trampear (salió el visual J++), le pusieron un pleito que perdio y se tuvo que inventar su propio java, que es el C#, es decir, un lenguaje de sintaxis muy similar a java o C++ y que es 100% orientado a objetos (creo). Como puedes ver, tanto java como C# son dos versiones distintas de un lenguaje más moderno que el C++.
Se bueno.