Entradas

No dejes que la inmutabilidad te amargue un buen rendimiento

link La inmutabilidad está de moda. Esto da un nuevo vigor a los lenguajes funcionales. Y en muchos lenguajes no funcionales, cada vez se valora más la inmutabilidad. El código es más legible. Esto es importante porque el código se empieza una vez, pero se mantiene durante años. Los problemas son más fáciles de razonar. Es más difícil tener inconsistencias, evitas race-conditions en programación concurrente y esto supone la puerta al paralelismo. Además, es más fácil diseñar correctamente con esta restricción. La inmutabilidad conlleva copias, en ocasiones muchas. Pero los compiladores son listos, muy listos, y son capaces de remplazar una copia por cambio insitu (mutación) sin que el diseño y tu código expresen ni padezcan de mutaciones. Esto es fantástico, ¡¡¡Qué más se puede pedir!!! Pues quizá sí, si el rendimiento te preocupa mucho, quizá te gustaría representar en el diseño que no quieres que se copie. Está bien que el compilador en muchos casos evite la cop...

C++ a toda máquina

Si quieres una tecnología, un lenguaje vibrante que avance a toda máquina, novedades y ritmo a tope… C++ es para ti. Se está celebrando el  cppcon 2015 Las charlas y anuncios son sorprendentes. Para los que pensábamos que que C++11 y C++14 eran un gran cambio, una gran evolución, un gran cambio de filosofía… cppcon 2015 nos muestra que eso era sólo el principio. La máquina se mueve a una velocidad trepidante y sigue acelerando… Una declaración de intenciones… https://www.youtube.com/watch?v=1OEu9C51K2A Una muestra real que se puede tocar… https://www.youtube.com/watch?v=hEx5DNLWGgA Una guía de estilo oficial, una librería que acompaña, anotaciones atómicas cuando quieras saltarlas, y a aprovechar las novedades con un  NUEVO  estilo, un nuevo lenguaje. Un lenguaje  seguro a tipos , elegante, moderno, multiparadigma (como siempre) pero funcional bien integrado… NOTE Sí C++ type safe, no estás soñando P...

PostgreSQL algunas razones

Me gusta PostgreSQL… He utilizado bastante firebird con un resultado muy bueno (poco mantenimento, pocos problemas, poca administración…) firebird es una base de datos con características avanzadas, potente, rápida… Es un fork de interbase en unas condiciones "extrañas", y esta a su vez es hija de GrotonDB, que ha sido la base de datos pionera en la tecnología  MVCC  que ahora "todo" el mundo utiliza. MySQL y MaríaDB ahora no está muy mal, especialmente desde que pueden utilizar el motor innodb. No obstante, MySQL sigue validando sentencias sql que no soporta e ignorando la parte que no sabe tratar. También tiene una coherción de tipos poco afortunada. Le faltan algunas características importantes, pero están trabajando muy bien en otros. Pero he venido a hablar de PostgreSQL… PostgreSQL se está haciendo más popular día a día en el mundo del software libre. En parte, puede deberse a la compra de MySQL por parte de Oracle y su po...