[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