몇 년 후이 질문으로 돌아 오는 편집
점점 더 많은 부스트 라이브러리를 계속 사용하면서이 설명을 업데이트하여 제품 설명이 원하는 기능과 일치 할 때 부스트를 사용해야하는 이유에 대한 확실한 사례를 제시 할 것이라고 생각했습니다. 이것은 심지어 혐오 자들에게 확신을 줄 것이다. openSSL을 다운로드하여 클라이언트 및 서버 응용 프로그램을 작성하십시오. 이제 모든 플랫폼에서 작동하도록하십시오. 그런 다음 boost :: asio :: ssl을 다운로드하여 사용하여 동일한 응용 프로그램을 만드십시오. 부스트가 깨끗하고 잘 최적화 된 동료 검토, 크로스 플랫폼 코드를 찾는 데 적합한 장소라고 확신하지 못하는 경우이 간단한 연습을 통해 변환 할 수 있습니다.
TL; dr 버전 :
제 생각에는 부스트를 사용하는 많은 인디 또는 중소 규모 개발 회사를 보지 못합니다. 왜냐하면 길들이기가 쉽지 않은 대규모의 강력한 야생 짐승이며 방법을 배우려고 할 때 기본적으로 혼자 있습니다. 그것을 사용하십시오. 문서가 몇 가지 방법으로 부족하고 (긴 버전 참조) 프로젝트 주변의 "커뮤니티"가 누락되었거나 흩어져 있거나 비활성 (다른 프로젝트와 비교) 인 것 같습니다.
Very Long Winded Version :
이미 받아 들여진 답변이 있다는 것을 알고 있지만 실제로 거의 모든 프로젝트에서 부스트를 사용하는 사람은 답변을 게시 할 것이라고 생각했습니다.
나는 처음에 부스트를 시작했을 때를 기억하며 솔직히 나는 무슨 일이 일어나고 있는지 전혀 알지 못했습니다. Boost는 전혀 잘 문서화되어 있지 않습니다. 사람들은 예제 코드와 주석 등의 스 니펫이 너무 많기 때문에 확실하지 않다고 생각할 수도 있지만 매우 춥고 모호하며 탐색하기가 어렵습니다.
또한 프로젝트 주변에서 "커뮤니티"를 찾은 것처럼 느껴지는 곳을 찾기가 어려워 보입니다. 사실 공동체는 존재하지 않거나 유목민처럼 보입니다. 불행히도 그들의 메일 링리스트조차도 많은 거머리 사이트에 의해 트롤되어 있어이 토끼 구멍을 내려갈 수 있습니다. 항상 시작한 곳으로 돌아갑니다.
이 두 가지 요소로 인해 부스트 라이브러리를 사용하는 법을 배우는 것은 어려운 작업입니다. 부스트를 사용하는 기술이 지나치게 복잡하지 않더라도 거대한 라이브러리 세트이며 무장 한 모든 코드 조각과 인터넷의 가장 어두운 구석에있는 메일 링리스트의 흩어져있는 조각입니다. ... 잘 생각합니다.
버전 1.45 주위에서 부스트를 겪었고 현재 버전 1.52 / 1.53에서만 프로덕션 환경에서 사용하기에 충분히 편안합니다. 라이브러리를 구축하고 기능을 구성하는 방법과 같은 간단한 것들조차도 라이브러리를 구축하고 기능을 구현하는 방법은 사용자 정의 가능한 방식으로 인해 컴파일 타임에 환경 설정에 따라 크게 다를 수 있기 때문에 익숙하고 기억해야 할 것들이 너무 많습니다. 아르.
그러나 , 실수를하지 않습니다 당신이 부스트를 지배 할 수있게되면, 당신은 빠른 속도로 고체, 크로스 플랫폼 프로그램을 구축하기위한 강력한 무기를 획득했습니다. 그냥 가지고 boost::asio
예를 들어. 단 몇 백 줄만으로도 강력하고 확장 가능하며 견고한 크로스 플랫폼 비동기식 웹 서버를 작성할 수 있습니다. 몇 년 동안 여러 클라이언트, 서버, 프록시 등을 작성했지만 아직 실패하지 않은 코드는 수백 줄에 불과하며 몇 분 안에 플랫폼에서 플랫폼으로 이식 할 수 있습니다.
다른 사람들이 지적했듯이 대기업은 일반적으로 레거시 물건에 갇혀 있거나 내가 완전히 이해하는 자신의 롤을 좋아합니다. 또한 개발자 리드 및 / 또는 프로젝트 관리자가 부스트 사용이 "너무 커서"금지 된 곳에서 내가들은 적이 있고 어리석은 일도 있습니다. 내 생각에 그들은 부스트가 하나의 단일 라이브러리라고 생각하거나 BCP에 대해 들어 본 적이 없다고 생각합니다 .
왜 부스트를 사용하기로 선택했는지
나는 당신이 당신의 질문에 암시하는 것처럼 "the"C ++ 라이브러리이기 때문에 그것을 사용한다고 말하고 싶습니다. Boost는 C ++ 세계에서 결국 사용해야 할 스위스 군용 칼로 간주됩니다. 따라서 아이디어가 필요한 경우 성능이 뛰어나고 휴대 성이 뛰어난 버전이 필요합니다. 대기업은 향상에 기여하고 , 인상적인 이력서를 가진 고도로 교육받은 사람들이 기여하고 유지하며 , 새로운 C ++ 표준이 개발 될 때 사람들은 일반적으로 ISO 표준 C ++가 될 부분을 부스트하려고합니다.
따라서 기존 라이브러리가있을 수있는 기능을 추가 해야하는 경우 가장 잘 보이며, 휴대용이며, 지원되고 유지 관리된다는 점에서 매우 안전하기 때문에 처음으로 살펴볼 부분은 부스트입니다. 매우 긴 시간과 버그가 발견되고 처리 될 것입니다. 오픈 소스 세계에서는 이러한 자질을 얻기가 매우 어려울 수 있습니다.