а COM ещё держится в ближайшем будущем?
Ну... локально как средство связи собранных компонентов для всяких плагинов и т.п. вещей COM - хорошее решение для Windows. Аналогом являются только сборки .NET, поскольку их открытые интерфейсы могут быть более сложны и разнообразны, нежели у стандартных DLL.
А для С++ ничего...
С++ - далеко не самый удобный язык для, например, построения UI. По-моему С++ нужен там, где нужна высокая производительность при малых затратах ресурсов, ручное управление памятью, отсутствие зависимостей от больших frameworks. Это более низкий, более системный уровень, скрытый от пользователя. То, что он до сих пор широко применяется и на пользовательском уровне - это больше историческое наследие, привычка.