Leo con tristeza estos últimos días que muchas de las cosas que iba a tener la revisión de C++ (C++0x) no van a tener cabida en esta revisión.

¿Qué implica ésto? Pues que seguiremos teniendo un lenguaje que ya no evoluciona con los nuevos tiempos (lo cuál no quiere decir que no sea utilizable).

Algunas de las cosas que son eliminadas son el garbage collector básico que tenían pensado meterlo para evitar posibles memory leaks (si se quería utilizar, claro). Quizás no fuera lo mejor del mundo, pero sería una opción para desarrollos rápidos.

También han quitado modificaciones para los templates, bucles y otras cosas…

C++ es un caso extraño de la naturaleza. Se creo como ampliación de C, pero no siguió avanzando con el paso de los años y ha ido quedando relegado a aplicaciones de bajo nivel, cosas críticas en velocidad y semejante fauna; pero ahí uno llega a preguntarse si realmente merece la pena el C++ en esos caso o se usaría mejor el C de toda la vida…

Aun con todo ésto, por supuesto que C++ no va a desaparecer y no va a quedar relegado a mantenimiento de aplicaciones, sino que su círculo seguirá siendo el mismo que tiene ahora. Lo que sí que creo que puede empezar a tener problemas es para encontrar programadores de calidad que conozcan todos los entresijos del C++ porque realmente pienso que en no mucho tiempo será un lenguaje que se dejará de impartir en las universidades o será relegado a pocas asignaturas.

¿No es una pena? :/

Si queréis ver alguna cosa más, pasaros por aquí (ojear los comentarios y links).

  1. ¿C++ se enseña en las facultades? ¿pa qué? es como Java, que tampoco se enseña, ni veo que se deba enseñar en una facultad…

    Te enseñan uno con tipado fuerte (Pascal por ejemplo) para que se te meta en la mollera qué es eso, el C básico para que veas que eso se puede simplificar y que hay por debajo (SOs y demas), un poco de ASM (opcional) y un lenguaje orientado a objetos (y para mi gusto a ser posible sin tipos primitivos, todo objetos y todo clases)

    El resto búscate las lentejas, esto no es CCC…

    Hablando sobre Java y demases, y sobre elegir para docencia lenguajes didácticos vs los que pide el mercado, parece tonteria pero lo último no es baladí. Tuve un día a un chavalín de FP a mi subcargo y tarde un tiempo en explicarle que el bug que le daba es porque:
    objeto!=null
    no es lo mismo que
    objeto.equals(null)
    XDD

    Y ya sobre C++, aplicaciones que necesiten rendimiento… jejeje ¡¡¡Te parecerá poco!!!
    Eso incluye soft de reproducción y codificación de Audio/Video, TODOS los videojuegos (Java Mobile aparte), navegadores y sus plugins, SOs y sus APIs…

    De todas formas si surge otro lenguaje OO que permita acceso a bajo nivel, y funciona bien… bienvenido sea !

  2. Puede que se este quedando anticuado, pero sigue siendo infinitamente mas rapido que Java.

    Y oye, aunque suene a anatema (¡anatema! ¡anatema!) la plataforma .NET con C#, que es orientado a objetos y segun lo poco que se, prácticamnente igual a C++, pues por ahi se pueden hacer un monton de aplicaciones. Me consta que en hacienda lo usan mucho.

    @Drizzt, pues C++ se enseña en Alcala, en “programacion OO” y programación visual. Yo nunca di Pascal, alli se imparte C, C++, ASM del 8086 y un poco de Ada como leguaje de programación en tiempo real.

    Hail to the Hypnotoad!

  3. En la UVA es lo que dije antes, lenguajes “didácticos” para aprender y luego búscate la vida, salvo C porque necesitabas uno de bajo nivel para SO. Que yo personalmente lo veo acertado. Para gustos colores.

    Aqui para ASM se usaba como ejemplo práctico las RISC SPARC de Sun, la asignatura de x86 era opcional (para calaña friki se sobreentiende :P)

    C# es Java como debiera haber sido: no compilado a ese horrible bytecode para lavadoras XDDD

    ¿Programación visual? ¿Te refieres a desarrollo de GUIs o a uso de IDEs que generan código?

    De ADA no se nada :S

  4. Personalmente sí que me da pena más que nada porque en Gijón la mayoría de las asignaturas las dimos con C++…

    A la fuerza se le coge cariño xD

  5. Con programacion visual me refiero a desarrollo de GUIs, aunque mas que desarrollo de GUIs prácticas, lo que relamente se enseñaba ahí era como integrar lo que habias aprendido de C++ con entornos gráficos. Desgraciadamente (para mi) al ser una asignatura de libre eleccion y ya tener mi cupo de creditos cubierto en aquel area, no la llegue a cojer, cosa que ha acabado pesandome.

    Cuando yo cursé telematica, hacia poco tiempo que se daba ASM del x86 (3 o 4 años), lo que tradicionalmente se daba en alcalá era ASM de Motorola 68000 (flipa!).

    Ada es un leguaje muy especifico para sistemas críticos y entornos en tiempo real. Es genial, por que construcciones abstarctas y complejas para el control de un STR o de un SO como semáforos, secciones criticas, problemas varios de lectura-escritura, monitores e historuias varias, vienen casi como palabras reservadas en el lenguaje, lo que te hace la vida mucho mas facil si quieres programar una aplicacion de ese tipo. Ademas el manejo de excepciones y errores es mucho mas brutal que en C, tanto a nivel de compilacion como a nivel de ejecucción. Es realmente jodido que si te ha llegado a compilar el codigo, eso casque. A mi me gusto muchisimo, estuve a punto de hacer algo en Ada para el proyecto, pero me faltaron redaños y la prisa por tener cuanto antes el título me hicieron optar por algo docenas de veces mas sencillo.

    Hail to the Hypnotoad!

  6. Pues yo en la universidad di pascal, C como lenguajes de base y el resto según la asignatura (aunque cuando hice el primer año de teleco, ahí di también C++).

    Sobre Ada decir que está muy bien y que se nota que lo pidió el Pentágono para unificar todo los sistemas que tenían… pero se quedó con un mercado muy residual.

    Y sí, Java es lento, pero el desarrollo en Java es mucho más rápido que en C/C++ y eso, según la aplicación que sea, es necesario. Un compilador de Java sería un killer totalmente…

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>