Läs Boostkod!


Boost-biblioteket är allt man behöver för att nå absolut nördnivå. Varje engagerad C++-utvecklare bör hålla koll på www.boost.org och livets högsta mål är att ha en eller flera egna klasser upptagna i det biblioteket och att ha fått ett idiom uppkallat efter sig. Det motsvarar katolska kyrkans helgonförklaring.

Det speciella med Boost är att biblioteket utvecklas enligt den akademiska traditionen med peer reviewing. Många andra öppna bibliotek och sajter med kod från kreti och pleti kan visst ofta vara användbara, men koden i Boost har alltså stötts och blötts av all världens gnälligaste sakkunniga innan den officiellt får ingå i biblioteket. Det ger en helt annan kvalitetsnivå.

Dessa sakkunniga är dessutom inte vilka gnällspikar som helst, utan i stor utsträckning samma personer som deltar i standardiseringsarbetet för språket C++. Släktskapet mellan Boost och språkstandarden är alltså starkt och syns direkt i att en stor del av den nya klasserna i nya språkstandarden C++11 är tagna direkt från Boost.

Boost är dessutom mycket fritt att använda. Till skillnad från GNU-licensen behöver man inte göra sin egen kod öppen, det går bra för vem som helst att använda Boost-koden i egna applikationer med vissa smärre krav. Men mitt skäl för att dra fram Boost i detta sammanhang är ett annat, dess pedagogiska värde:

Var och en som jobbar med C++ har antingen passerat eller inte passerat den tröskel det innebär att förstå att C++ har två stora grenar när det gäller hur språket används i objektorienterad design. Den ena är den numera helt dominerande i alla sammanhang, nämligen arv plus dynamisk bindning plus abstrakta basklasser och interface. Sedan tjugo år är det gällande statsreligion inom alla stora språk och lärs ut på all högskolenivå. Känns igen från Java, .Net/C# m.fl.

Den andra är policyobjekt plus typparameterisering och, när det gäller samlingar, iteratorer. Det är det speciella med C++ på högre nivå (dit vi når ungefär mitt i kursen Avancerad C++, dvs i dag). Vanligen kombinerar man inte de två designtraditionerna i samma bibliotek. STL-biblioteket med ursprung hos HP ingår i denna tradition - och ingår i språkstandarden sedan tidigare. Många tycker det är krångligt och underligt. Boost är alltså också ett bibliotek i denna tradition. När man börjar fatta skönheten i STL går man vidare till att studera Boost och når nördnivå.

Dessutom kan det tänkas att man hittar klasser som man genast kan använda. Ifall man kanske måste producera lite till vardags också.

Skicka en kommentar

Trevligt att du vill dela med dig av dina åsikter! Tänk på att hålla på "Netiketten" och använda vårdat språk.