Valoda C++, kā zināms, var lepoties arī ar plašo pieejamību uz dažādām datoru platformām. Universālas datu struktūras un vispārīgu algoritmus ir iespējams veidot arī pēc pavisam cita principa, piemēram, izmantojot objektorientāciju - polimorfismu. Tādu pieeju pieļauj gan C++, gan Java un citas valodas. Ir vienkārši izveidot "vispārīga objekta" klasi, no tās atvasināt visus izmantojamos mainīgo tipus un definēt virtuālas operācijas, lai rakstītu vispārīgus algoritmus. Taču zināms, ka polimorfisms prasa papildu datora resursus programmas darbības laikā - jāglabā papildus tipu informācija un daudz jāoperē ar izsaucamo virtuālo funkciju norādēm. Salīdzinājumam - šablonu pieeja nodrošina teju optimālu algoritma izpildkodu, jo šabloni tiek aizpildīti ar faktiskajiem tipiem un funkciju izsaukumiem jau kompilācijas laikā, gluži tā, it kā algoritms būtu uzrakstīts ar roku no A līdz Z. Paliek iespējas veikt visāda veida optimizāciju.
Ja cilvēks ir pieradis strādāt ar c++, tad viņam šķitīs, ka Visual Basic ir grūta programma, vai arī otrādāk.…