On Saturday 13 December 2008 09:17:10 Carlos E. R. wrote:
El 2008-12-13 a las 01:37 -0200, Juan Erbes escribió:
El día 12 de diciembre de 2008 11:00, Carlos E. R.
No estoy diciendo que sea peor. C++ es mejor. Pero un programa hecho en C++, que usa las cosas especiales que añade, es más lento por narices. Y encima, como el compilador GCC de hace unos años no generaba código bien optimizado para C++, pues teníamos una rémora considerable, que afectaba al KDE. La gente de KDE estuvo dando la lata a la gente del GCC para que corrigieran ese problema, y estuvieron trabajando mucho en eso. Supongo que ya lo habrán conseguido.
Esto lo explicó Rafa en su dia.
Ahí tenemos el kernel, que está hecho en C, no C++. Cuando cuenta la velocidad y la optimización y el control, no se usa C++. Por muy bueno que sea, cada lenguaje tiene sus usos optimos y los que no o son. Como todo lo que hacemos las personas.
Vuelvo a citar el texto original, sin recortes: For the vast majority of problems out there, I state that C++ provides
Y yo vuelvo a cortarlo. Quien lo queira leer, lo tiene en los correos anteriores.
...
So, if you believe me, we have established that "C++ is not significantly worse than C". Let's have a look at what it is that makes C++ a better C:
Pues como ya he explicado, no le creo. Que sea mejor, si. Que ha establecido esos puntos anteriores, no. Los niego.
En los primeros años del desarrollo del kernel Linux, no había ningun compilador C++ de GNU, así que forzosamente debían hacerlo en C. Hoy en dia la situación ha cambiado en cuanto a compiladores para C++, pero por inercia, continuan con C a secas. No se si realmente los craneos del kernel Linux, se habran tomado la molestia de estudiar el C++, y hacer las evaluaciones correspondientes.
Dudo muchísimo que digas en serio que el señor Torvalds no conozca C++.
Por otro lado, con la cantidad de lineas de codigo que tiene el kernel linux, ponerse a reescribirlo, sería como desarrollar un kernel nuevo desde cero. Y eso solamente lo puede hacer alguien que conozca al dedillo los fuentes del kernel, al igual que la programación en C++, y le sobre mucho tiempo.
Podras ver, de acuerdo con las lineas anteriores, que el kernel Linux no está escrito en C, porque el ejecutable sea mas rapido que el escrito en C++, sino por otras razones completamente ajenas a eso.
Está escrito en C por muchas razones, incluyendo la velocidad.
Por otro lado, pasate por alto el hecho de que algunos programas (o kernel) hechos en C, si no estan bien depurados, tienden a tener problemas con el uso de memoria, ya que no limpian la memoria una vez que ha sido usada, cosa que rara vez sucede en C++, y que ademas el codigo escrito en C++, ademas de tener la tercera parte de la cantidad de lineas, se presta menos a los errores de tipeo.
¿Y porqué lo voy a pasar por alto? Ya he dicho que el C++ es mejor. Simplemnte niego que sea más rápido el C++. No lo es.
Tienes la manía de cerrarte en redondo con una idea y no querer comprender que las cosas no son blancas y negras: hay matices y multitud de motivaciones.
Sobre el enlace que pase: http://www.linuxquestions.org/questions/programming-9/c-or-pure-c-for-linux- kernel-module-linux-device-driver-development.-what-to-use-353924/ estoy.. intentando acabar con el post pero.... estoy mas perdido que en las clases de computación gráfica. Si es que pueden entender lo que describen allí vale. =P -- Carlos A. -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org