Ver Mensaje Individual
  #16 (permalink)  
Antiguo 14/09/2006, 07:44
Avatar de ociomax
ociomax
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Temuco, Chile
Mensajes: 5.595
Antigüedad: 22 años
Puntos: 35
Cita:
Iniciado por MaxExtreme Ver Mensaje
(...) Un programa en C++ con clases, herencia, funciones virtuales, y sobre todo RTTI (que no sé si lo usa), _puede_ (que depende del código) significar una bajada en el rendimiento bastante grande, comparada con código C a pelo. (...)
Lo siento, pero discrepo absolutamente de lo que planteas. Un programa en C++ no es más lento que uno en C sólo por usar "clases", especialmente si hacerlo en C implica "emular" la orientación a objetos.

Anteriormente hablabas de un "sistema de enlazados entre clases muy curioso" que supuestamente implementa KDE. Si te refieres a "signals" y "slots", éstos son implementados por Qt, la biblioteca gráfica base de KDE. Qt es reconocida por mucha gente como una de las mejores bibliotecas gráficas en la actualidad; es usada por Google (Google Earth), Opera, Skype, partes de programas Adobe, etc. Qt está escrita en C++, Pero puedes escribir aplicaciones Qt en muchos otros lenguajes (Python, Ruby, C++, Java,... e incluso C puro). KDE hace uso de Qt e implementa funcionalidades adicionales; una aplicación KDE es simplemente una que hace uso de las KDE-libs.

KDE presenta un alto grado de integración entre aplicaciones, gracias a Kparts, Kioslaves, DCOP (ahora siendo reemplazado por D-BUS) y otros sistemas que permiten reaprovechar recursos y evitan tener que abrir 15 ventanas distintas cuando sólo necesitas una parte de la funcionalidad de la aplicación. Por ejemplo, Amarok puede mostrar la información del artista que estás escuchando, integrando una Kpart de KHTML que dibuja la página correspondiente en Wikipedia.

¿KDE tiene muchas "pijaditas"? Es mejor decir que KDE permite tener muchos efectos gráficos y otras cosas... si el usuario así lo desea. No te obliga a hacerlo; si tienes un equipo con recursos más limitados, perfectamente puedes desactivar todas esas "pijaditas".

He usado KDE y Gnome; he desarrollado aplicaciones en ambas plataformas. Hasta ahora no he visto ninguna evidencia de que Gnome sea más rápido que KDE; de hecho, en mi experiencia es justo lo contrario, pero sólo es mi experiencia personal.

En cuanto a C v/s C++, ¿qué crees que es más eficiente: tratar de "emular" orientación a objetos en C o usar un lenguaje orientado a objetos desde su creación como C++? Creo que es un tema que podríamos discutir (tal vez en el foro de programación ).

Cita:
Iniciado por MaxExtreme Ver Mensaje
(...) Evidentemente, todos podemos escribir malos programas en cualquier lenguaje, pero estamos suponiendo que la gente lo ha escrito bien.
En eso sí estamos de acuerdo .

Espero que no interpretes este comentario como un ataque; simplemente quería aclarar algunas afirmaciones que no me parecieron ciertas.
__________________
Christian González, "OCIOMax"
http://chgonzalez.blogspot.com
http://twitter.com/chgonzalez