Haskell y la belleza perdida

Revisando mis suscripciones a otros blogs, me he encontrado con un trozo de código de un un viejuno informático, y sencillamente me he emocionado (si, los frikis informáticos es lo que tenemos), tras leer esto:

quicksort [] = []
quicksort (s:xs) = quicksort [x|x <- xs,x < s] ++ [s] 
                ++ quicksort [x|x <- xs,x >= s]

En esta época donde todo es .NET, Java, PHP, y OO a saco, donde todo ya esta programado en mastodónticas APIs, se agradece ver código funcional (100% Pure Haskell), puro y puro. Algo tan complicado de entender (o tan sencillo de entenderlo) que es una obra de arte.

¿Y que leches son estas dos lineas de código?, simplemente la ordenación mas rápida, resumida y escrita brillantemente. Toda un QuickSort en dos líneas.

PD: Si, hoy tenia ganas de escribir una frikada y sencillamente, me ha dado esto en la cara y no podía resistirme a escribirlo. Gracias al Cedazo.

Please follow and like us:

Usando SQLite en tus aplicaciones

Aveces, te planteas aplicaciones, que necesitarían un lugar donde almacenar mucha información, en muchos casos, simplemente por tenerla ordenada y accesible la incorporación de una base de datos es muy recomendable.
Pero, incluir una base de datos, resulta muy engorroso, de hecho muchas veces incluso es un problema. Os pongo el caso, de necesitar de una pequeña agenda que te vas a instalar en tu PC de casa… Ves sus requisitos y ves que necesita instalar un MySQL o similar. Sencillamente no me lo instalaría (como la mayoría de la gente).

Mucha gente me contestaría, que se podría usar un texto plano, un XML, un archivo binario, o cientos de tipos de soluciones que no necesitaran de tener una base de datos en tu maquina… cierto. ¿Pero y si el volumen de datos empieza a ser un problema?.

Una solución puede ser SQLite, que es una solución intermedia. Es un desarrollo intermedio, una base de datos en un fichero, sin dependencias y todo en una dll.  Ademas hay un desarrollo para ADO.NET, para integrarlo con el Visual Studio, que hace las cosas muy sencillas.

Es una solución intermedia, ya que yo es recomendable usarlo para cosas que requieran mucha fiabilidad (sobre todo de tiempo respuesta) pero para pequeños proyectos o aplicaciones con poco estrés, te solucionará la vida.

Please follow and like us: