Вилле было 29-30 лет, он уже отучился в универе на программистаИмхо, если инженер перестал учиться, он умер или парализован. Почти всё, что было создано и стало случайно успешным, создавалось как хобби или в процессе изучения. Вряд ли вкладывалась задача сделать убийцу Линукса.
Другое дело, что когда-нибудь наступает момент, когда нужно выкинуть написанное наспех и переписать всё по науке, с учетом наработанного практического опытаСогласен полностью, но обычно такое наступает, когда нет ещё готовых решений и приходится идти вслепую, пробуя костыли и велосипеды по пути.
std::wstring
не имеет никакого отношения к UTF-8. std::u8string
объявить. А если строки динамические, то надо подключать библиотеку для работы с Юникодом. Раз уж ты уже используешь boost, то возьми Boost.Locale
С чего это азио не кроссплатформенный?
В первом же абзаце на сайте написано "Boost.Asio is a cross-platform C++ library for network and low-level I/O programming"