javisantana.com

STL: sí o no

Es muy común entre los que programamos en C++ el reinventar a menudo la rueda (incluso varias veces) y reprogramarse los contenedores básicos él mismo. Se suelen escudar en cuestiones de legibilidad de código, sobrecarga de llamadas, rapidez de ejecución. Es cierto que muchas veces es necesario tener muy claro como funciona algo, sobretodo con algortimos críticos sin embargo hay una serie de pros que me hacen decantarme por el uso de STL:

- efectividad: ganas tiempo en no tener que programar y hacer debug de tus contenedores. Además sabes que hay muchas más personas usándola y tienes cierta seguridad cuando las usas.

- rapidez de ejecución: es posible que tus contenedores sean más rápidos, pero en el tiempo que has usado para programarlos es posible que invitiéndolo en otros algortimos hubieras ganado más ciclos de cpu (o gpu :P).

- trabajos en equipo: cuando se trabaja en equipo es muy ventajoso que todo el grupo conozca muy bien las cosas básicas del código sobre el que se trabaja. Además casi nunca se suele estar de acuerdo en como deben funcionar los contenedores.

- Los iterators: te dan una versatilidad para cambiar de contenedor y trabajar con los mismos algortimos sobre cada uno bastante alta y que da aporta mucha efectividad a la hora de programar

pero también hay contras:

- No te evitas bugs… pero tampoco te libras de ellos si los programas tú. Por ejemplo hacer std::vector< std::vector > en algunas versiones de gcc (con la STL de GNU) tiene un bug.

- Código muchas veces ilegible, con lo cual hace difícil saber qué hacen exactamente.

- Múltiples implementaciones. Por un lado tienes la que traen por defecto los compiladores, STL de SGI, STL port. No es que sea un gran problema, pero hay contenedores y algortimos diferentes, ciertos detalles internos, etc.

- Los iterators: a algunos programadores les resulta engorroso tener que usar, por ejemplo, un iterator para eliminar un elemento de un std::vector

En resumen, para mi, STL sí, porque prefiero usar mi tiempo en crear algortimos diferentes a los de toda la vida, aunque creo que todo programador debería saber como implementar una lista enlazada o un vector. Tú que opinas?

La fiesta empieza en Gameloft

Leo en khronos que gameloft anuncia en una nota de prensa que va a usar OpenGL ES en uno de sus juegos y que además lo va a endosar en un móvil con aceleracion.

Me hace gracia como vende la moto el presidente de Gameloft, más que nada porque existen juegos 3D hace siglos, no creo que porque veamos juegos 3D en dispositivos móviles vaya a ser la revolución aunque si funciona bien gameloft, entre tantas, se puede forrar a base de bien. El problema es que un juego 3D requiere mucho más trabajo que uno 2D (y por tanto mayor coste de producción) y no sé si saldrá tan rentable.

Por suerte OpenGLES es muy similar a OpenGL y los programadores de PC no creo que tengan problemas en reconvertirse, con lo cual la experiencia acumulada para PC siempre se puede aprovechar. A ver que va saliendo.

matemáticas para la vista


Hace tiempo se anunció el “International Congress of Mathematicians” en el que se dieron unas charlas sobre demoscene. Hoy Íñigo Quilez ha publicado en su web las transparencias de las ponencias además de todo el material usado en la exposición. Personalmente me ha gustado la definición matemática de una mariposa que hace Íñigo en el pdf, aunque los otros documentos no se quedan atrás, lo cual no sorprende viendo los ponentes, unos de los creadores de iconoclast y también de plastic.

matemáticas para la vista


Hace tiempo se anunció el “International Congress of Mathematicians” en el que se dieron unas charlas sobre demoscene. Hoy Íñigo Quilez ha publicado en su web las transparencias de las ponencias además de todo el material usado en la exposición. Personalmente me ha gustado la definición matemática de una mariposa que hace Íñigo en el pdf, aunque los otros documentos no se quedan atrás, lo cual no sorprende viendo los ponentes, unos de los creadores de iconoclast y también de plastic.

Pizarra mágica

Veo en codepixel un video sobre una pizarra (ojo, el pesado, lento y funciono_mal_en_firefox youtube :P) cuanto menos curiosa. En ella un señor muy serio dibuja objetos con un puntero a los que se aplica física real. Desde que apareció la DS hemos visto una gran cantidad de juegos que hacen uso de las posibilidades de la pantalla táctil y este ejemplo demuestra uno de ellos. Lo que se representa no es un juego, pero con unas pocas de vueltas a la cabeza estoy seguro que no sería difícil sacar un juego.

Además, la física ya sola por sí hace un juego, aunque si le añades unos toques divertidos pueden salir cosas como breakquest

EDIT: un jueguecillo/test que me ha pasado alex con física creada en flash: line rider y un video con una aplicación curiosa.. :)