Я думаю, что можно использовать оба сразу с самого начала. Boost предоставляет множество мощных функций, широко используется и имеет хорошую репутацию. Большинство вещей, которые он предоставляет, имеют те же общие концепции программирования, с которыми был разработан STL, так что в этом смысле это не должно сильно сбивать с толку.
Лучший способ научиться чему-либо - это использовать отличный код, а затем посмотреть, как он написан. Это хорошо сработало для меня с Boost. Прочитайте учебник по шаблонам, и вы будете вдохновлены новой силой, которую вы открыли в течение часа. Затем прочитайте заголовок Boost, который вы использовали некоторое время, и вы будете вдохновлены в течение нескольких недель.
Конечно, не ожидайте, что сразу поймете эти внутренности - сначала я просто использовал библиотеки, не понимая, как вы построите что-нибудь из этого, и это нормально. Но в какой-то момент вы понимаете, что хотите написать что-то с похожим дизайном, и тогда вы начнете искать.
Если вы сделаете обратное и ограничитесь «C ++ как более безопасный C», то вы не будете подвержены всем этим мощным вещам, поэтому у вас не будет соблазна посмотреть и понять их, и поэтому вы будете писать довольно примитивный код и учиться медленнее.
РЕДАКТИРОВАТЬ: забыл, что у меня была другая мысль - взглянуть на предстоящий стандарт C ++ 0x тоже. Он включает в себя множество функций, которые возникли в Boost. То есть студенты, начинающие изучать C ++ через несколько лет, с самого начала будут работать с этими концепциями - вы могли бы сделать это и сегодня ...