Articulo de referencia

Boost (bibliotecas de C++)

{{cite web|url=https://www.boost.org/users/history/old_versions.html|title=Old Versions|access-date=11 April 2017}} "},"discontinued":{"wt":""},"latest release version":{"wt":"{...

Logotipo antiguo (2006–2025)

Las bibliotecas Boost C++ (también conocidas simplemente como Boost ) son un conjunto de bibliotecas para el lenguaje de programación C++ que brindan soporte para tareas y estructuras como álgebra lineal , generación de números pseudoaleatorios , multihilo, procesamiento de imágenes , expresiones regulares y pruebas unitarias . Actualmente contiene 170 bibliotecas individuales. [ 3 ]

Todas las bibliotecas de Boost están licenciadas bajo la Licencia de Software de Boost , diseñada para permitir que Boost se utilice tanto con proyectos de software libre como propietario . [ 4 ] Boost se utiliza de forma complementaria con la Biblioteca Estándar de C++ para complementar sus características. Muchos de los fundadores de Boost forman parte del comité de estándares de C++ , y varias bibliotecas de Boost han sido aceptadas para su incorporación al Informe Técnico de C++ 1 , el estándar C++11 (por ejemplo , punteros inteligentes , subprocesos , expresiones regulares , generación de números aleatorios , aritmética racional (ratio), tuplas ) [ 5 ] [ 6 ] y el estándar C++17 (por ejemplo, API del sistema de archivos , any types , tipos de opciones , tipos de variantes y vistas de cadenas ). [ 7 ]

La comunidad Boost surgió alrededor de 1998, con el lanzamiento de la primera versión del estándar. Desde entonces, ha crecido continuamente y ahora desempeña un papel fundamental en la estandarización de C++. Si bien no existe una relación formal entre la comunidad Boost y el comité de estandarización, algunos desarrolladores participan activamente en ambos grupos.

Diseño

Estas bibliotecas están dirigidas a una amplia gama de usuarios de C++ y dominios de aplicación. Abarcan desde bibliotecas de propósito general, como la biblioteca de punteros inteligentes , hasta abstracciones de sistemas operativos como Boost FileSystem , pasando por bibliotecas dirigidas principalmente a desarrolladores de otras bibliotecas y usuarios avanzados de C++, como la metaprogramación con plantillas (MPL) y la creación de lenguajes específicos de dominio (DSL) (Proto).

Para garantizar la eficiencia y la flexibilidad, Boost hace un uso extensivo de plantillas . Boost ha sido fuente de un extenso trabajo e investigación sobre programación genérica y metaprogramación en C++. [ 8 ]

La mayoría de las bibliotecas Boost se basan en encabezados , consisten en funciones en línea y plantillas, y como tales no necesitan compilarse antes de su uso. Algunas bibliotecas Boost coexisten como bibliotecas independientes. [ 9 ] [ 10 ] Algunas bibliotecas Boost, como boost.regex, se ofrecen como módulos , a medida que el resto de la biblioteca comienza a admitir módulos.

Personas asociadas

Boost fue fundada en 1998 por tres miembros del Comité de Estándares de C++: Beman Dawes, David Abrahams y Robert Klarer. La idea surgió durante una conversación entre Klarer y Dawes en la reunión del Comité de Estándares de C++ de marzo de 1998 en Sophia Antipolis, Francia. Abrahams se unió poco después para crear la primera lista de correo de Boost. «Historia de Boost» . Documentación del sitio de Boost . The C++ Alliance . Consultado el 26 de enero de 2026 .Stroustrup, Bjarne; Sutter, Herb (1 de diciembre de 2020). "Recordando a Beman Dawes" . C++ estándar . Consultado el 26 de enero de 2026 .

Beman Dawes (fallecido en diciembre de 2020) formó parte del Comité de Estándares de C++ (WG21) desde 1992 y presidió el Grupo de Trabajo de la Biblioteca durante cinco años, durante la finalización de C++98. Stroustrup, Bjarne; Sutter, Herb (1 de diciembre de 2020). «Recordando a Beman Dawes» . Estándar C++ . Consultado el 26 de enero de 2026 .Fue el autor original de la biblioteca Boost.Filesystem, que posteriormente sirvió de base para la biblioteca std::filesystem en C++17. Dawes desempeñó un papel fundamental en el establecimiento del proceso de revisión por pares y la cultura de pruebas de Boost. «Historia de Boost» . Documentación del sitio de Boost . The C++ Alliance . Consultado el 26 de enero de 2026 .

David Abrahams fue miembro del Comité de Estándares de C++ desde 1996 hasta 2012 y es conocido por desarrollar la teoría de la seguridad ante excepciones para C++, incluyendo el marco de "garantías de Abrahams". "David Abrahams (programador informático)" . Wikipedia . Consultado el 26 de enero de 2026 .Fue autor de varias bibliotecas Boost, incluyendo Boost.Python, y coautor del libro C++ Template Metaprogramming (2004). En 2001, Abrahams fundó Boost Consulting (más tarde BoostPro Computing) para brindar soporte comercial a las bibliotecas Boost. «David Abrahams (programador informático)» . Wikipedia . Consultado el 26 de enero de 2026 .

Robert Klarer, que trabajaba en IBM, fue cofundador del concepto Boost junto con Dawes y contribuyó a las primeras discusiones sobre las mejores prácticas para el desarrollo de bibliotecas de alta calidad. «Historia de Boost» . Documentación del sitio de Boost . The C++ Alliance . Consultado el 26 de enero de 2026 .Falco, Vinnie (8 de mayo de 2023). "El futuro de Boost" . The C++ Alliance . Recuperado el 26 de enero de 2026 . Existen listas de correo dedicadas al uso de la biblioteca Boost y al desarrollo de la misma, activas desde 2023.. [ 11 ]

Licencia

Boost está licenciado bajo su propia licencia libre y de código abierto , conocida como la Licencia de Software Boost. [ 14 ] Es una licencia permisiva al estilo de la licencia BSD y la licencia MIT , pero sin requerir atribución para la redistribución en formato binario . [ 15 ] La licencia ha sido aprobada por la OSI desde febrero de 2008 [ 16 ] [ 17 ] y es considerada una licencia de software libre , compatible con la Licencia Pública General de GNU , por la Free Software Foundation . [ 13 ]

Véase también

Referencias

  1. "Versiones antiguas" . Consultado el 11 de abril de 2017 .
  2. https://github.com/boostorg/boost/releases/tag/boost-1.91.0 .{{cite web}}: Falta o está vacío |title=( ayuda )
  3. "Lista de bibliotecas Boost" .
  4. "Licencia de software Boost" . www.boost.org . Consultado el 6 de enero de 2022 .
  5. "Informe técnico de la biblioteca" . JTC1/SC22/WG21 - Comité de estándares de C++. 2 de julio de 2003. Consultado el 1 de febrero de 2012 .
  6. "Una API de subprocesos para C++" .
  7. "Sitio StackOverflow.com" .
  8. Abrahams, David; Gurtovoy, Aleksey (10 de diciembre de 2004). Metaprogramación con plantillas en C++: conceptos, herramientas y técnicas de Boost y más allá . Pearson Education. pág. 408. 
  9. "Sitio web de Asio" .
  10. "Sitio web de Spirit" .
  11. "Impulsar las listas de correo (también conocidas como grupos de discusión)" . Consultado el 28 de abril de 2020 .
  12. "Licencia de software Boost" . Boost (bibliotecas de C++) . 3 de diciembre de 2003. Archivado del original el 24 de abril de 2025. Consultado el 21 de abril de 2025 .
  13. 1 2 3 4 "Diversas licencias y comentarios sobre ellas - Proyecto GNU - Fundación del Software Libre (FSF)" .
  14. "Boost Software License - Version 1.0" (TXT) . 17 de agosto de 2003. Consultado el 22 de diciembre de 2023 .
  15. ^ Dawes, Beman. "Impulsar la licencia de software" . Consultado el 1 de agosto de 2016 .
  16. "Archivo de la lista de correo de Boost" . Archivado del original el 7 de noviembre de 2016.
  17. "Boost Software License 1.0 (BSL-1.0) | Open Source Initiative" . 5 de febrero de 2008.

Lecturas adicionales

  • Demming, Robert y Duffy, Daniel J. (2010). Introducción a las bibliotecas Boost C++ . Vol.  1 - Fundamentos. Datasim. ISBN 978-94-91028-01-4.
  • Demming, Robert y Duffy, Daniel J. (2012). Introducción a las bibliotecas Boost C++ . Vol.  2 - Bibliotecas avanzadas. Datasim. ISBN 978-94-91028-02-1.
  • Mukherjee, Arindam (2015). Bibliotecas Learning Boost C++ . Paquete. ISBN 978-1-78355-121-7.
  • Polukhin, Antonio (2013). Libro de recetas de desarrollo de aplicaciones Boost C ++ . Paquete. ISBN 978-1-84951-488-0.
  • Polukhin, Antonio (2017). Libro de recetas de desarrollo de aplicaciones Boost C ++ (2  ed.). Paquete. ISBN 978-1-78728-224-7.
  • Schäling, Boris (2011). Las bibliotecas Boost C++ . XML Press. ISBN 978-0-9822191-9-5.
  • Schäling, Boris (2014). Las bibliotecas Boost C++ (2.ª  ed.). XML Press. pág.  570. ISBN 978-1-937434-36-6.
  • Siek, Jeremy G.; Lee, Lie-Quan y Lumsdaine, Andrew (2001). La biblioteca de gráficos Boost: Guía del usuario y manual de referencia . Addison-Wesley. ISBN 978-0-201-72914-6.
  • Sitio web oficialEdita esto en Wikidata