Вилле было 29-30 лет, он уже отучился в универе на программистаИмхо, если инженер перестал учиться, он умер или парализован. Почти всё, что было создано и стало случайно успешным, создавалось как хобби или в процессе изучения. Вряд ли вкладывалась задача сделать убийцу Линукса.
Другое дело, что когда-нибудь наступает момент, когда нужно выкинуть написанное наспех и переписать всё по науке, с учетом наработанного практического опытаСогласен полностью, но обычно такое наступает, когда нет ещё готовых решений и приходится идти вслепую, пробуя костыли и велосипеды по пути.
std::wstring
не имеет никакого отношения к UTF-8. std::u8string
объявить. А если строки динамические, то надо подключать библиотеку для работы с Юникодом. Раз уж ты уже используешь boost, то возьми Boost.Locale