Librerías POCO, haciendo C++ algo menos doloroso

Librerías POCO, haciendo C++ algo menos doloroso
Facebook Twitter Flipboard E-mail

A mucha gente la sola mención de C++ le produce sarpullidos, pesadillas, alucinaciones esquizofrénicas e intentos de cortarse la venas. Yo personalmente no acabo de entender muy bien por qué, es un lenguaje que combina el bajo nivel y la sensación de control de C con las más potentes abstracciones de la orientación a objetos. Puede que la sintaxis sea algo más tosca que, por comparar con alguno que juegue en la misma liga, Objective-C, y que alguna que otra parte de la STL sea dolor, pero aún así factores como su alto rendimiento y su muy extendido uso (código portable, que no pasa de moda y con gran cantidad de recursos disponibles) lo hacen una opción siempre a considerar.

Un ejemplo de que tirar líneas en C++ puede ser bastante llevadero es POCO, un conjunto de librerías pensadas para solucionarnos un buen número de problemas aportando funcionalidad para un amplio espectro de tareas necesarias en cualquier programa genérico.

Entre las funcionalidades que aporta se encuentran:

  • Herramientas genéricas como manejo de tipos de datos (definición de tipos, conversión, etc.), fechas, expresiones regulares PCRE, etc.

  • Un buen número de utilidades de red: cliente y servidor HTTP, cliente FTP, POP3 y SMTP para correo electrónico, caché, manejo de URLs, sockets, etc.

  • Gestión de eventos y notificaciones.

  • Librerías para bases de datos MySQL, SQLite y ODBC.

  • Procesamiento de datos: compresión ZIP, codificaciones de texto, cifrado, etc.

  • Algunas herramientas de gestión de memoria, gestión de hilos y bajo nivel.

  • Abstracción de sistema de archivos, haciendo más portable nuestro código.

pocoprojectorg_slides_000-introandoverviewpdf.png

POCO es una librería moderna, pragmática y muy bien diseñada para las necesidades reales de hoy, haciendo uso de los patrones más asentados y requeridos. Hace hincapié en una filosofía y principios que se pueden resumir en:

  • Facilidad y simplicidad (DRY, KISS y todo eso que se suele decir).

  • Modularidad, partes independientes en que seleccionas según necesites.

  • Cohesión, tanto en estilo código como en patrones de diseño y protocolos, documentación…

  • Portabilidad, soportando bastantes sistemas (Windows, Linux, Mac, Unixes varios, iOS), desde servidores hasta dispositivos embebidos, con herramientas de abstracción para que no tengas que preocuparte.

Por ahí se comenta que se echa en falta algo más de documentación, si bien por lo que he podido comprobar no es nada grave; destaca también su excelente calidad de código y su sentido de conjunto bien integrado en sí mismo. Por supuesto es de código abierto (licencia Boost), y viene en tres versiones para descargar: versión básica sin dependencias externas, versión completa y versión comercial, que implementa características extra más avanzadas y tiene detrás el soporte de Applied Informatics.

Una navaja suiza que siempre es bueno tener a mano para siempre que nos haga falta, como Boost, Qt y tantas otras.

Sitio oficial | POCO Project

Comentarios cerrados
Inicio