324 meneos

GCC se pasa a C++

Ya es oficial: el compilador GCC está cambiando a una implementación en C++. En el anuncio oficial se comenta que "el GCC Steering Committee y la FSF han aprobado el uso de C++ en el propio GCC. Por supuesto no hay razón para usar características de C++ sólo porque se puede. El objetivo es hacer un mejor compilador para los usuarios, no hacer un código base en C++." Visto en softlibre.barrapunto.com/article.pl?sid=10/05/31/1540255

etiquetas: c++, gcc, gnu, fsf
negativos: 1   usuarios: 156   anónimos: 168  
compartir:  twitter  facebook  tuenti  
  1. #1   Where are your ANSI-C friends now!?!? WHERE !?!?!?!?
    145  votos: 16   link
    el 31-05-2010 16:42 UTC por Alvarete Alvarete
  2. #2   Hablando en plata, necesitamos sangre nueva, y para atraerla sin decirlo, vamos a usar un lenguaje ideado como una broma.

    Me ha costado encontrarlo, la habia leido hace tiempo en otra pagina, pero está poco extendido... www.redcientifica.com/gaia/reir/cpp_c.htm
    53  votos: 6   link
    el 31-05-2010 16:50 UTC por Vauldon Vauldon
  3. #3   LLVM presiona....
    43  votos: 3   link
    el 31-05-2010 17:05 UTC por Fingolfin Fingolfin
  4. #5   #2
    Me he leído la entrevista, está muy bien :-P
    8  votos: 0   link
    el 31-05-2010 17:22 UTC por --86917-- --86917--
  5. #6   #2, #4, #5: Es una broma, aúnque a veces la realidad supera la ficción.
    15  votos: 1   link
    el 31-05-2010 17:38 UTC por --65522-- --65522--
  6. #7   #6
    Sí, ya sé que es una broma, lo había captado. Sobre todo por la pregunta final:

    ¿Crees que esta entrevista es mentira?

    Es mentira Es verdad

    Pasando el ratón por encima de cada vínculo ves si es verdad o mentira.
    16  votos: 1   link
    el 31-05-2010 17:50 UTC por --86917-- --86917--
  7. #8   #3 Dicen que un Alien Arena compilado con LLVM consiguió 40 FPS a 800x600 en una cpu de 2GHZ sin aceleración gráfica alguna por parte de la tarjeta ... ojala lo portaran a Haiku , puesto que ahora no hay OpenGL por hardware, hasta que porten los drivers libres de Linux . Los de ATI están en proceso, y ahora andan con Nvidia/Nouveau+Gallium .
    #6 No es broma, un binario en C++ de un jodido Hello World me pesa mas que si lo escribo en C.
    25  votos: 2   link
    el 31-05-2010 17:51 UTC por andertxu andertxu
  8. #9   #8
    La entrevista es broma, lo dice claramente la página. Y si de verdad fuera una broma, el hombre no se hubiera molestado en trabajar en el estándar C++0x, ni en escribir un libro que va ya por su tercera edición y enésima tirada.

    En fin, ya que estoy, he hecho un Hello World en ambos lenguajes xD
    En C++ he utilizado la biblioteca iostream y en C la stdio.h, en éste caso el Hello World me da 678 bytes más (9148B vs 8470B).
    Luego he querido usar la biblioteca cstdio en C++, dándome tan solo 67 bytes de más (8537B vs. 8470B).

    En el articulillo coñero, Stroustrup mencionaba un peso de 2.1MB :-P
    78  votos: 7   link
    el 31-05-2010 18:11 UTC por --86917-- --86917--
  9. #10   April Fools...
    7  votos: 0   link
    el 31-05-2010 18:20 UTC por --130208-- --130208--
  10. #11   Me hule un poco a elitismo dolido
    7  votos: 0   link
    el 31-05-2010 18:22 UTC por orvtech orvtech
  11. #12   #9 Lo sé :-P , quería picarte para que lo compilaras .
    24  votos: 2   link
    el 31-05-2010 18:24 UTC por andertxu andertxu
  12. #13   #4 #6 #9 Si, es una broma, pero si no lo decimos podemos reirnos mas viendo a la gente despotricar :-P
    10  votos: 0   link
    el 31-05-2010 20:00 UTC por Vauldon Vauldon
  13. #14   Pero si se utiliza C++ en el compilador de C, éste ya no será autocompilable...
    7  votos: 0   link
    el 31-05-2010 22:55 UTC por rastersoft rastersoft
  14. #15   #14: Supongo que será un compilador de C i C++, sino no tiene sentido.
    -3  votos: 1   link
    el 01-06-2010 07:28 UTC por --65522-- --65522--
  15. #16   #0 Qué programa es GCC, y por qué se pasa a Canal Plus? xD
    234  votos: 26   link
    el 01-06-2010 08:37 UTC por Gestapo Gestapo
  16. #17   POO rules
    24  votos: 2   link
    el 01-06-2010 09:36 UTC por Einash Einash
  17. #18   mierda!
    7  votos: 0   link
    el 01-06-2010 10:53 UTC por rickipal rickipal
  18. #19   a mi me la suda, yo utilizo linux, oh wait...
    14  votos: 1   link
    el 01-06-2010 10:56 UTC por pedrobotero pedrobotero
  19. #20   #16: es Canal Plus Plus: es justo como el Canal Plus, pero con doble de Plus. No sé si mesplico. El GCC es en inglés el cambio climático, Global Climate Change.
    82  votos: 8   link
    el 01-06-2010 10:59 UTC por krollspell krollspell
  20. #22   #15 En negrita y todo... ¿catalano-parlante? ;)
    20  votos: 2   link
    el 01-06-2010 11:01 UTC por pawer13 pawer13
  21. #23   #21 Yo trabajo con estas cosas.

    Si un camionero ve una página que habla sobre camiones seguramente no le llamarás friky, pero como son "cosas de ordenadores" entonces sí.

    Es hasta cómico.
    187  votos: 21   link
    el 01-06-2010 11:04 UTC por BloodStar BloodStar
  22. #24   Por fin punteros que una vez declarados son NULL. :_)
    17  votos: 1   link
    el 01-06-2010 11:08 UTC por lawprier lawprier
  23. #25   #23: yo también trabajo a veces con estas cosas, aunque es cierto que en un foro de temática más o menos general una discusión técnica está un poco fuera de lugar, sea sobre GCC, sobre la carboxilación de la hemoglobina o sobre los cátaros. Pero bueno, esto es mnm, que si quieres lees y si quieres no.
    -2  votos: 1   link
    el 01-06-2010 11:13 UTC por krollspell krollspell
  24. #26   #17, no le veo la gracia. Estoy con Sir Clive Sinclair:

    "Nuestras máquinas eran ágiles y fuertes. Hoy en día se abusa de la incorporación de memoria a causa de las exigencias de software pero es algo completamente inútil: hay que esperar a que los malditos arranquen, que inicien, que carguen programas residentes, ¡Es un caos absoluto!"

    www.fayerwayer.com/2010/03/sinclair-zx80-la-revolucionaria-computadora

    Donde esté el código máquina que se quite la POO.

    La abstracción está bien para maximizar los beneficios: no requiere formación especializada.

    Para sacarle el jugo a una máquina, hay que conocer su arquitectura. Y eso requiere personal especializado. Sólo así se consiguen sistemas 99.9% failsafe (por eso ahora no lo es ninguno).
    -1  votos: 5   link
    el 01-06-2010 11:21 UTC por yosoyyo yosoyyo
  25. #27   #26 Para sacarle el jugo a una máquina, hay que conocer su arquitectura. Y eso requiere personal especializado. Sólo así se consiguen sistemas 99.9% failsafe (por eso ahora no lo es ninguno).

    ¿¿¿A prueba de fallos con ensamblador??? Me lo explique.
    24  votos: 2   link
    el 01-06-2010 11:39 UTC por takamura takamura
  26. #28   #26 tienes mucha razón, pero tampoco podemos ponernos con código máquina a machete hoy en día salvo casos puntuales, concretos o específicos (consolas, dispositivos con pocos recursos o limitados a una función, etc...).
    El problema es que quién se ha peleado con lenguajes de 'bajo nivel' y va usando los de 'alto', máquinas virtuales o frameworks... sabe que éstos por debajo están hechos sobre los de niveles inferiores e intuye como estarán organizados y por tanto puede minimizar el impacto de uso de recursos, errores, etc... junto con los conocimientos teóricos que haya podido aprender, más de arquitectura que comentas.
    Cuando alguién sin conocimientos teóricos y poca experiencia entra de lleno usando frameworks y demás es indudable que va a gastar muchísimos más recursos de la máquina donde ejecute su embolado, además del triple de errores.
    Entender la POO, no ya a un nivel alto sino básico, tampoco es sólo menester de gente no especializada. Me remito a lo que he dicho en los párrafos anteriores.
    15  votos: 1   link
    el 01-06-2010 11:45 UTC por TheMaster TheMaster
  27. #29   #27, dónde he puesto yo que haya que saltarse el debugging...
    6  votos: 0   link
    el 01-06-2010 11:52 UTC por yosoyyo yosoyyo
  28. #30   #25 Menéame no creo que sea un foro de temática general. Es un foro de temática que interesa a los participantes. Si esto aparece en portada es porque interesa y no hay más.

    #28 Con el C se puede programar ajustando bastante al hardware, teniendo en cuenta el tamaño de la caché para algunos algoritmos y cosas así, además de poder insertar de forma nativa código ensamblador.
    Puedes programar normal todo el programa y en una segunda vuelta buscando eficiencia pasar algún algoritmo pesado a ensamblador si es un algoritmo fácil claro xD
    23  votos: 2   link
    el 01-06-2010 11:53 UTC por BloodStar BloodStar
  29. #31   El próximo paso es el kernel.
    C++ conquista el mundo muhahahah.
    8  votos: 0   link
    el 01-06-2010 12:05 UTC por --8898-- --8898--
  30. #32   #26 No estoy de acuerdo:
    -Si trabajas con una MV te ahorras tener que conocer el hardware al detalle. Más bien necesitas saber de algoritmia para saber optimizar.
    -Si las aplicaciones hoy día fallan más que antes es porque son mucho más complejas y hay muchas más. Y son más complejas porque tenemos herramientas que nos permiten crear aplicaciones complejas en relativamente poco tiempo. Por ejemplo, yo hice un Tetris en la universidad, usando Modula-2 y luego lo hice en ensamblador. En un lenguaje "normal" lo tienes hecho en un par de días, en ensamblador tardas semanas. No hay control de memoria, ni de que te salgas de array con el índice... etc, con lo que escribes un montón de código que cuesta mucho mantener y no es menos propenso a fallos (en cuanto tienes miles de líneas es más bien lo contrario.

    - La calidad en general de las aplicaciones ha bajado en algunos aspectos, pero es que cualquiera ahora programa. Un buen programador te hará un código robusto en cualquier lenguaje, y si usa un lenguaje sencillo lo hará además en menos tiempo.

    #31 De eso creo que nos podemos olvidar: Linus ha dicho que C++ está bien para hacer aplicaciones, pero para el kernel le parece una pésima idea (yo te lo digo así, de un modo suave. Imagina como respodió él a la sugerencia, con su historial de troll en los foros xD )

    #20 Un buen compilador tiene todo eso en cuenta y puede optimizar más que nadie "a mano" hoy día.
    64  votos: 7   link
    el 01-06-2010 12:58 UTC por pawer13 pawer13
  31. #33   #32

    Un buen compilador tiene todo eso en cuenta y puede optimizar más que nadie "a mano" hoy día.

    Hay cosas que el compilador no puede hacer por muy bueno que sea y por ello se continúan haciendo a mano, un ejemplo lo tienes en el encoder x264 con partes esenciales escritas directamente en ensamblador.
    19  votos: 1   link
    el 01-06-2010 13:19 UTC por --86917-- --86917--
  32. #34   #29 Yo tampoco he dicho que haya que saltárselo. Lo que he dicho es que si esperas hacer un programa mínimamente complejo en ensamblador a prueba de fallos, lo llevas claro.
    17  votos: 1   link
    el 01-06-2010 13:48 UTC por takamura takamura
  33. #35   #32 El ultimo párrafo no es cierto del todo. Un compilador bueno optimiza para la plataforma (x86 por ejemplo) pero no para una máquina con una configuración en concreto (PIV 2.0Ghz con X de caché). Obviamente esto último es muy específico.

    Y los compiladores muchas veces se pasan de listos y la arman optimizando. Me ha pasado varias veces ya.

    Y luego la velocidad de ejecución de un mismo código intensivo en CPU compilado en C y en C++ son bastante diferentes.
    7  votos: 0   link
    el 01-06-2010 14:15 UTC por BloodStar BloodStar
  34. #36   #26 Pero qué ida de olla!!!!!!!

    ¿Trabajas?¿En qué? Ya me parece gili algo muy común en españa como que alguien que solo trabaja con php denoste java o este .net o este C+ o este yo que sé como para que encima alguien que supongo trabajará con sistemas en tiempo real o algún tipo de sistema embebido denoste..... LA POO Y LA ABSTRACCIÓN.
    -3  votos: 3   link
    el 01-06-2010 14:57 UTC por tokamak tokamak
  35. #37   #36 no lo denosto. Digo que se hace un mal uso. Claro que para problemas complejos no se trata de estar reinventando la rueda cada día. Pero de ahí a crear programas arrastrando componentes en entorno gráfico... :-)

    Y sí. Lo de conocer las plataformas al detalle obviamente se aplica con sistemas empotrados... Como para conocer a fondo el hardware de cada tarjeta gráfica por poner un ejemplo.

    Del Java y el .Net también se hace un mal uso. Y del flash. Y de la web en general...

    Querer convertir el navegador en plataforma multi-purpose is a no-no. Y eso que no está saliendo del todo mal...

    Definitivamente, me gustaba más la filosofía Sinclair.

    Y con esto aún mucho más:

    www.dailymail.co.uk/femail/article-1195788/Beauty-boffin-Why-young-lap

    Tipo listo, sí señor... ;)
    6  votos: 0   link
    el 01-06-2010 16:14 UTC por yosoyyo yosoyyo
  36. #38   #31 #32 Haiku OS está escrito en C++ es.wikipedia.org/wiki/Haiku_%28sistema_operativo%29 ... y lento no es que sea, vamos, está basado en BeosR5, así que directamente vuela.
    22  votos: 2   link
    el 01-06-2010 16:20 UTC por andertxu andertxu
  37. #39   #22: Se me ve el plumero.... :-)
    13  votos: 1   link
    el 01-06-2010 17:05 UTC por --65522-- --65522--
  38. #40   Es bastante interesante el hilo de Barrapunto. Es de esas veces que piensas que Barrapunto vuelve a ser lo que era.
    37  votos: 3   link
    el 01-06-2010 19:56 UTC por Guevara Guevara
  39. #41   #38 por cierto, el que documenta esa pagina soy yo :-)
    6  votos: 0   link
    el 01-06-2010 20:26 UTC por difusion difusion
  40. #42   Viendo los votos que tiene esta noticia 295 te das cuenta de la clase de gente que lee meneame. Porque si esa noticia la diera algun periodico el 99% de los lectores pasarian de largo o no se enterarian de lo que es.
    En resumen meneame.net es una web de frikis del ordenador que adoran al PSOE.
    -15  votos: 2   link
    el 01-06-2010 21:05 UTC por --174591-- --174591--
  41. #43   #42 Entonces ya no te contamos que al que ha votao irrelevante lo tenemos en una olla enorme con agua, puerros y zanahorias, que entonces no sé qué pensaras de nosotros.
    12  votos: 0   link
    el 01-06-2010 22:36 UTC por Guevara Guevara
  42. #44   #38 Yo hablo exclusivamente del kernel de Linux, donde Linus manda. Su opinión de C++ la tienes aquí:
    thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918

    Yo no comparto parte de sus opiniones, pero como soy "javero", supongo que es normal: para mí la POO significa comodidad y una forma de acercarse a los problemas intuitiva, aunque el problema de Java es el mismo que el de C++ o PHP: hay tanta gente que dice que es programador porque ha hecho un curso de 3 meses en el INEM o alguna academia que para encontrarte código decente tienes buscar mucho.
    Obviamente no se me ocurriría hacer en Java un SO, pero un compilador sí se puede hacer en Java. De hecho algunos pinitos he hecho, con JFlex. Obviamente es más lento que un compilador en C o C++, pero realmente el tema de velocidad en ciertos casos es indiferente: un compilador en Java en un PC hoy día tardará bastante menos en compilar una aplicación que un compilador equivalente en C en un PC de hace 2 años.
    7  votos: 0   link
    el 02-06-2010 13:51 UTC por pawer13 pawer13
  43. #45   #2 Me he reido mucho.
    La verdad es que hay que saber cuando hay que usar la navaja (programar C), y cuando la granada (programar en C++), por que si usas C++ solo por que es orientado a objectos y el proyecto es suficientemente pequeño para hacerlo en C, probablemente la granada te acabe explotando en las manos.
    En cualquier caso yo recomiendo usar una AK47 ...quería decir usar python, y como mucho realizar en C / C++ las partes que necesites mucho rendimiento (accediendo a esas partes desde código python atraves de wrappers)
    6  votos: 0   link
    el 04-06-2010 08:26 UTC por prejudice prejudice
comentarios cerrados

menéame