Не логично про ассемблер. С ассемблера ушли чтобы уменьшить объем кодирования. А здесь показано как на C++ опять повышается объем кодирования. Вот это и есть ошибка автора. Он взялся нам показать свое представление о прекрасном, а не рассказать как реально повысить эффективность кодирования.
Да шаблоны он сумел применить в этой ситуации, но увеличил количество имен которые надо держать программисту в голове.
Ведь эти шаблоны все равно не избавляют от необходимости каждый раз вспоминать какие порты и биты есть на данной платформе.
Но еще надо помнить и о структуре шаблонов в добавок.
Тут я считаю принципиально осознание того, что OOП возник из-за появлений трудностей в организации именно коллективной работы с пару десятков лет назад. На низком уровне, на участках где работает один программер ООП уже не дает преимуществ в скорости кодирования. Современные среды разработки с мгновенным рефактрингом , броузингом кода и контекстными списками выбора с успехом заменяют все что Страуструп пытался нагрузить на язык.
Теперь народ на JavaScript (взять хоть либы от Google) пишет такое что на C++ мало кто рискнет. Без всяких там классов и шаблонов. Все благодаря возможностям среды разработки.
Смотрим тему:
Прототипное программирование
Отсюда вывод: в рамках простого примера использования C++ одним программистом для решения собственных же задач в принципе невозможно показать преимущества ООП на базе C++ по сравнению с C-и.