Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Re:C++ vs C

    (Puntos:2)
    por mr_mejor (10915) el Jueves, 29 Enero de 2004, 11:25h (#259619)
    ( http://barrapunto.com/ )

    Tu opinion me parece interesante, coherente y bien pensada.

    Pero dejame apuntarte que no estupido dejar la cuestion del tamaño y velocidad a segundo plano a favor de la extensibilidad, mantenimiento y rehutilización. Por poner un ejemplo, no me importa perder un segundo en el inicio cargando plugins, teniendo en cuenta que en los ordenadores de mañana ese segundo desaparecera pero los plugins (es decir, su arquitectura) seguira ahi. Un ejemplo más claro es la arquitectura de componentes, un tanto pesado pero impresionante.

    Esta claro que todo lo que puedes hacer en C++ puedes hacerlo en C, Pascal, Python o lo que quieras, ya que son lenguajes completos. Pero C++ creo que da un balance optimo entre velocidad y abstracción. Tambien es cierto que C++ es un lenguaje complejo, pero puedes evitar esa complicación con un diseño adecuado (como el de KDE, donde todo encaja en su sitio y las cosas salen solas.

    --
    La uniformidad no es necesaria para la unidad
    [ Padre ]
    • Re:C++ vs C de anarquia (Puntos:1) Jueves, 29 Enero de 2004, 13:11h
      • Re:C++ vs C de torX (Puntos:1) Jueves, 29 Enero de 2004, 14:17h
  • Re:C++ vs C

    (Puntos:0)
    por pobrecito hablador el Jueves, 29 Enero de 2004, 11:33h (#259627)

    Eficiente en el consumo de recursos. ¿Alguien sabe hasta donde puede Gtk+ ser más eficiente que Qt?. Tengo que decir que al final elegí Gtk+, porque es un toolkit bastante eficiente, y porque su lenguaje nativo es C, con lo cuál se eliminan todos las estructuras intermedias que mantienen en memoria los programas escritos en C++.

    Lamento mucho corregirte, pero GTK+ implementa objetos en C, que invariablemente implica todas esas estructuras intermedias en memoria que comentas en C++.

    No se hasta que punto GTK+ es más eficiente que Qt, al menos por el aspecto que comentas.

    [ Padre ]
  • usted perdone

    (Puntos:0)
    por pobrecito hablador el Jueves, 29 Enero de 2004, 12:47h (#259662)
    Qt 3.2 le da mil vueltas en eficiencia a GTK2.2. Si te refieres a GTK1 (que ese toolkit si que es rápido como un rayo), especificalo.
    [ Padre ]
  • por pobrecito hablador el Jueves, 29 Enero de 2004, 14:53h (#259704)
    Tus argumentos parten de una buena base (la programación orientadas a objetos es un concepto, no una implementación), están bien planteados, adecuadamente expuestos ... y sin embargo creo que te equivocas. ¿Motivos? No voy a entrar en una guerra de lenguajes o paradigmas pero te diré algo que he aprendido en mi larga o corta carrera profesional: la elección de los lenguajes a utilizar en un proyecto de cualquier tamaño está más condicionada por la inercia y los conocimientos aplicables que por una elección "en frio" sopesando alternativas. Es más, jamás he visto ésto último y sí muchas elecciones por motivos "religiosos".
    No te diré que no puedes trabajar con paradigmas de objetos en C o Cobol o Basic pq no es verdad, pero lo que no comparto es que no se pueda trabajar mucho mejor con un lenguaje diseñado para ello como C++, Python o Java.
    ¿Pérdida de velocidad? Teniendo en cuenta que el código extra para aplicar el paradigma de objetos que no genere el compilador lo tienes que implementar tú te aseguro que ninguna.
    En resumen, si hay que elegir C, Cobol, Fortran etc por motivos personales o empresariales, perfecto. Pero no los enmascaremos. Un saludo
    [ Padre ]
  • Re:C++ vs C

    (Puntos:2)
    por Mjollnir (5744) el Jueves, 29 Enero de 2004, 16:37h (#259767)
    ( http://barrapunto.com/ )

    C, C++, eficiencia, GTK+, ... pues usa D [digitalmars.com].

    Hay versiones Linux y Windows, tiene un foro muy activo, el front-end es libre y se está portando para funcionar con GCC (aunque el compilador de Walter deja al gcc por los suelos).

    Es un lenguaje en el que ya he escrito un par de programillas, y no le veo ninguna desventaja: sería como tener todo lo de C, C++, Java y Python en un lenguaje ...

    Saludos

    --
    The Cat Ate My Source Code
    [ Padre ]
  • Leyendas

    (Puntos:1, Interesante)
    por pobrecito hablador el Jueves, 29 Enero de 2004, 17:36h (#259815)
    No sé de dónde se saca la gente que el C++ es menos eficiente que el C. Bueno, sí lo sé, de las pésimas implementaciones en C++ que se suelen hacer y de que es un buen pretexto para no estudiar C++.

    Si no usas la STL y otras basuras y sabes lo que haces, el C++ puede ser MAS eficiente (o igual, pero nunca menos) en velocidad y gasto de memoria que el C, para algoritmos complejos equivalentes y con las mismas salvaguardias.

    ¿Cómo lo sé? Hace 20 años que programo profesionalmente y tengo mucha experiencia con el ensamblador, ya que antiguamente era casi el único lenguaje que utilizaba. De vez en cuando examino el código que generan los compiladores para ver cómo traducen algunas partes críticas de mi trabajo o el de mi equipo, y ahí es dónde lo veo.

    NOTA: He llamado basura a la STL porque así me parecen las implementaciones que he visto. Tal vez se puedan mejorar, pero, además, la especificación usual de la STL me parece un mal ejemplo de diseño, aunque contiene unas pocas buenas ideas.

    [ Padre ]
  • Re: diferentes paradigmas

    (Puntos:3, Informativo)
    por CitoJam (9245) <jamNO@SPAMgatogordo.es> el Viernes, 30 Enero de 2004, 06:18h (#259967)
    ( http://www.gatogordo.es/ | Última bitácora: Sábado, 29 Mayo de 2004, 03:47h )
    Mucha gente compara C y C++ como si fueran el mismo tipo de lenguaje, cuando en mi opinión pertenecen a paradigmas de programación totalmente distintos.

    C es un lenguaje totalmente imperativo, basado en las órdenes o algoritmos que utilizas; estas órdenes se apoyan o usan ciertas estructuras de datos que pueden ser incluso objetos, pero el centro del programa, el principal método de desarrollo, el corazón del programa sigue siendo el algoritmo. C++ es, sin embargo, un lenguaje orientado a objetos, donde la parte principal del programa, el verdadero enfoque que realiza el programador no es lo que el programa tiene que hacer, sino las estructuras que utilizan; estas estructruas (los objetos) se apoyan en órdenes y algoritmos, pero la base aquí son las estructuras de datos.

    Por tanto, al pertenecer a distintos paradigmas, son útiles para uno determinado tipo de tareas. Por ejemplo, si quieres programar un driver no tiene mucho sentido utilizar clases y cosas por el estilo, pero para un programa de alto nivel como OpenOffice.org [openoffice.org] la orientación a objetos se hace tremendamente útil.

    Es cierto que ambos pueden hacer lo mismo, de hecho, todo lenguaje capaz de implementar la Máquina de Turing (bendito Alan Turing [turing.org.uk]) tiene plena capacidad para hacer todo lo computable. Por poner un ejemplo, un lenguaje de tipo declarativo que implemente la Máquina de Turing, como ProLog [inria.fr], también es capaz de hacer lo mismo que C y C++, pero estaremos de acuerdo que no tiene mucho sentido programar KDE usando ProLog...

    --
    El Gato Gordo [gatogordo.es]
    [ Padre ]