[C con Clase] Es Mejor C o C++?

Programante programante en gmail.com
Sab Mar 3 20:13:13 CET 2007


D1e6o! escribió:
> Hola amigos.. bueno, me estoy dando cuenta que me acostumbre demasiado 
> a c... y me gustaría saber si hay algún problema con esto, con 
> respecto a compilación y optimización... (sino empiezo con c++.. 
> clases etc...)... O sea.. si es mejor uno que otro o es solo 
> organización?.. Muchas Gracias!
No hay problema alguno.
Son lenguajes equivalentes. Todo lo que se puede hacer en C se puede 
hacer en C++ (evidentemente), y todo lo que se puede hacer en C++ se 
puede hacer en C. Lo que cambia es cómo se expresa.

C++ tiene la ventaja de que permite encapsular los objetos, trabajar con 
ellos de forma más intuitiva (clásico ejemplo: usar + para sumar 
racionales) y encapsulada, permite usar plantillas, referencias, 
excepciones...
C es por lo general algo mejor en rendimiento, puesto que las cosas se 
hacen a más bajo nivel, el compilado inserta menos código propio. Como 
su sintaxis es más sencilla, el tiempo de compilación es también algo 
menor (compara enlazar con un nombre de función con buscar una función 
entre todas las sobrecargadas, que acepte un parámetro de un método al 
que puedas promover el objeto). También es más fácil que un sistema 
tenga un compilador de C que uno de C++.
Los programas en C suelen ser también a ocupar menos y ser ligeramente 
más rápidos, aunque más que ser debido al lenguaje es por la forma de 
usarlo. Con C++ se tiende a usar múltiples clases (heredando varias 
veces) para usar sólo la última. En C, como no se puede, se tiende a ser 
más explícito.
Sólo <iostream> añade ya un coste notable al programa. Si comparas un 
hola mundo con printf y otro en cout, la diferencia es muy grande. En 
cambio en un programa grande su uso puede simplificarte la vida, con un 
coste inapreciable.

Finalmente, usa el que te parezca, sea C, C++, unos módulos con C y 
otros con C++, o variar C/C++ según el proyecto.
Hay opiniones (y flames) para todos los gustos, pero no hay una 
respuesta final. Se trata de una opción personal (salvo que sea un 
proyecto entre varios). Usa aquél con el que estés más a gusto o te 
facilite más hacer el programa.

Un saludo




Más información sobre la lista de distribución Cconclase