Objetos en C [Was: Re: OT: Pregunta de C]

Horst von Brand vonbrand en inf.utfsm.cl
Lun Nov 22 21:49:33 CLST 2004


"rodrigo ahumada" <rodahum1978 en hotmail.com> dijo:

[...]

> Fuera de Tema:
> puede crearse un sistema de objetos en C usando macros?;

Que es "sistema de objetos"?

>                                                          ya se que gtk usa 
> macros para comprobar los ancestros, pero digo poder hacer macros para poder 
> escribir algo como "objeto mensaje parametros..." sin tener que chequear 
> tipos en forma explicita, y que el sistema de clases y manejo de memoria lo 
> defina uno con macros a su pinta.

Pueden hacerse toda clase de cosas via macros en C, pero el resultado sera
no-C, o sea, incomprensible. Abstente.

> Esto lo pregunto por que hicieron un parche para el kern. para poder usar
> algo de C++(http://netlab.ru.is/exception/LinuxCXX.shtml) y a los que
> hicieron linux probaron c++ y lo detestan.

Porque C++ arrastra un monton de costos que son dificiles de predecir para
el usuario comun, y requiere un monton de apoyo de runtime (que en el
nucleo _no existe_). Por lo demas, el sistema de objetos al interior de
Linux hace cosas que en C++ son imposibles de hacer limpiamente (si, son
necesarias cosas como heredar de una clase y cambiarle funciones miembro).

Si, pueden escribirse S.O.'s en C++, pero el disen~o debe considerar el
lenguaje y su modelo de objetos (el cuento de "disen~o independiente del
lenguaje" es el mayor de los muchos crimenes de los "ingenieros de
software"...)
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


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