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 http://softlibre.barrapunto.com/article.pl?sid=10/05/31/1540255
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.
#16:
#0 Qué programa es GCC, y por qué se pasa a Canal Plus?
#1:
Where are your ANSI-C friends now!?!? WHERE !?!?!?!?
#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 )
#20 Un buen compilador tiene todo eso en cuenta y puede optimizar más que nadie "a mano" hoy día.
#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
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
#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.
#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 )
#20 Un buen compilador tiene todo eso en cuenta y puede optimizar más que nadie "a mano" hoy día.
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.
#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.
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.
#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
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
#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.
#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)
#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!"
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).
#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.
#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.
#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.
#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
¿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.
#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.
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.
#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.
#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.
Comentarios
#0 Qué programa es GCC, y por qué se pasa a Canal Plus?
#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.
#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 )
#20 Un buen compilador tiene todo eso en cuenta y puede optimizar más que nadie "a mano" hoy día.
#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.
#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.
#31 #32 Haiku OS está escrito en C++ http://es.wikipedia.org/wiki/Haiku_%28sistema_operativo%29 ... y lento no es que sea, vamos, está basado en BeosR5, así que directamente vuela.
#38 por cierto, el que documenta esa pagina soy yo
#38 Yo hablo exclusivamente del kernel de Linux, donde Linus manda. Su opinión de C++ la tienes aquí:
http://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.
Where are your ANSI-C friends now!?!? WHERE !?!?!?!?
#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
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
#9 Lo sé , quería picarte para que lo compilaras .
#4 #6 #9 Si, es una broma, pero si no lo decimos podemos reirnos mas viendo a la gente despotricar
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... http://www.redcientifica.com/gaia/reir/cpp_c.htm
#2 si fuera de verdad sería la bomba
#2, #4, #5: Es una broma, aúnque a veces la realidad supera la ficción.
#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.
#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.
#2
Me he leído la entrevista, está muy bien
#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)
LLVM presiona....
Es bastante interesante el hilo de Barrapunto. Es de esas veces que piensas que Barrapunto vuelve a ser lo que era.
POO rules
#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!"
http://www.fayerwayer.com/2010/03/sinclair-zx80-la-revolucionaria-computadora-de-mesa-cumplio-30-anos/
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).
#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.
#27, dónde he puesto yo que haya que saltarse el debugging...
#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.
#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.
#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
#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.
#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:
http://www.dailymail.co.uk/femail/article-1195788/Beauty-boffin-Why-young-lapdancer-finally-decided-wed-millionaire-Sir-Clive-Sinclair.html
Tipo listo, sí señor...
#15 En negrita y todo... ¿catalano-parlante?
#22: Se me ve el plumero....
Por fin punteros que una vez declarados son NULL. :_)
a mi me la suda, yo utilizo linux, oh wait...
El próximo paso es el kernel.
C++ conquista el mundo muhahahah.
mierda!
Me hule un poco a elitismo dolido
April Fools...
Pero si se utiliza C++ en el compilador de C, éste ya no será autocompilable...
#14: Supongo que será un compilador de C i C++, sino no tiene sentido.
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.
#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.
Cuanto freaky
#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.
#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.