Czytałem więc i wydaje się, że biblioteki Boost są bardzo często używane w praktyce (chociaż nie w moim sklepie). Dlaczego to? i co sprawia, że jest tak wspaniały?
Czytałem więc i wydaje się, że biblioteki Boost są bardzo często używane w praktyce (chociaż nie w moim sklepie). Dlaczego to? i co sprawia, że jest tak wspaniały?
Odpowiedzi:
Boost jest używany tak często, ponieważ:
Ze strony głównej:
„... jeden z najbardziej cenionych i profesjonalnie zaprojektowanych projektów bibliotek C ++ na świecie”. - Herb Sutter i Andrei Alexandrescu, C ++ Coding Standards
„Punkt 55: Zapoznaj się z Boost”. - Scott Meyers, Effective C ++, 3rd Ed.
„Oczywistym rozwiązaniem dla większości programistów jest użycie biblioteki, która zapewnia elegancką i wydajną platformę niezależną od potrzebnych usług. Przykłady to BOOST ...” - Bjarne Stroustrup, Abstrakcja, biblioteki i wydajność w C ++
Jest to więc szereg powszechnie używanych i akceptowanych bibliotek, ale dlaczego miałbyś tego potrzebować?
Jeśli potrzebujesz:
Ponieważ dodają wiele brakujących rzeczy do standardowej biblioteki, tak bardzo, że niektóre z nich są włączane do standardu.
Boost ludzie nie kłamią:
Dlaczego organizacja powinna używać Boost?
Jednym słowem, produktywność. Korzystanie z wysokiej jakości bibliotek, takich jak Boost, przyspiesza początkowy rozwój, skutkuje mniejszą liczbą błędów, ogranicza konieczność ponownego wynalezienia koła i obniża długoterminowe koszty utrzymania. A ponieważ biblioteki Boost stają się de facto lub de iure standardami, wielu programistów już je zna.
Dziesięć bibliotek Boost jest uwzględnionych w TR1 biblioteki standardowej C ++, a więc ma zostać później poddana pełnej standaryzacji. Więcej bibliotek Boost jest w przygotowaniu dla TR2. Korzystanie z bibliotek Boost daje organizacji przewagę we wdrażaniu nowych technologii.
Wiele organizacji korzysta już z programów zaimplementowanych w Boost, takich jak Adobe Acrobat Reader 7.0.
Kilka klas Boost jest bardzo przydatnych (shared_ptr), ale myślę, że trochę oszaleli z cechami i koncepcjami w Boost. Czasy kompilacji i ogromne rozmiary plików binarnych są całkowicie szalone dzięki Boost, tak jak ma to miejsce w przypadku każdego kodu zawierającego szablony. Musi być równowaga. Nie jestem pewien, czy Boost go znalazł.
Dodaje biblioteki, które pozwalają na bardziej nowoczesne podejście do programowania w C ++.
Z mojego doświadczenia wynika, że wielu programistów C ++ to tak naprawdę programiści C ++ z początku lat 90., którzy w zasadzie piszą klasy w C ++, a nie używają zbyt wielu typów ogólnych. Bardziej nowoczesne podejście wykorzystuje typy generyczne do wspólnego komponowania oprogramowania w sposób bardziej podobny do języków dynamicznych, ale na końcu nadal uzyskuje się kontrolę typu / wydajność. To trochę brzydkie. Ale kiedy już uporasz się z problemami składniowymi, to naprawdę jest całkiem fajne. Boost zapewnia wiele narzędzi potrzebnych do łatwego komponowania. inteligentne wskaźniki, funkcje, lambdy, powiązania itp. Są też biblioteki boost, które wykorzystują ten nowszy sposób pisania C ++, aby zapewnić takie rzeczy, jak sieć, regex itp.
jeśli piszesz dużo pętli for, ręcznie przewijasz obiekty funkcyjne lub zarządzasz pamięcią, zdecydowanie powinieneś sprawdzić boost out.
BOOST to zbiór bibliotek spełniających potrzeby wspólne dla wielu projektów C ++. Ogólnie rzecz biorąc, przedkładają poprawność, możliwość ponownego użycia, przenośność, wydajność w czasie wykonywania i oszczędność miejsca w stosunku do czytelności kodu implementacji BOOST lub czasami czasu kompilacji. Zwykle nie obejmują pełnych, wysokopoziomowych wymagań funkcjonalnych (np. Frameworki aplikacji), a zamiast tego (na szczęście) oferują bloki konstrukcyjne, które można dowolnie łączyć bez narzucania lub zdominowania projektu aplikacji.
Oto ważne powody, dla których warto rozważyć użycie BOOST:
Biblioteki są opisane w jednej lub dwóch liniach tutaj: http://www.boost.org/doc/libs/ .
Ponieważ biblioteka standardowa C ++ nie jest kompletna .
Należy odnotować wszystko, co wiąże się z udziałem Kevlina Henneya .
Zwiększ w zasadzie streszczenie tego, czym stanie się Standard, poza wszystkimi recenzjami i używaniem, które zapewnia Boost, możesz być całkiem pewien, że dostaniesz całkiem niezłą ofertę dla swoich zależności.
Jednak większość sklepów nie używa Boost, ponieważ jest to zależność zewnętrzna. W rzeczywistości zmniejszenie zależności zewnętrznych jest również bardzo ważne.
Używam trochę zamkniętej biblioteki systemu plików, a boost :: shared_ptr jest całkiem sprytny. Słyszałem, że robi też inne rzeczy.