C# или C++ как первый язык?
C# - это как если бы ты скупал золотые драгоценности, переплавлял их, и делал бы из них золотые слитки.
C++ - это как если бы ты добывал руду в шахте, проходил бы сам разные стадии очистки, параллельно бы промывал речной песок, и в итоге получал бы всё те же золотые слитки.

Что лучше новичку? Нельзя ответить однозначно. В первом случае ты по началу не только не будешь знать, сколько в твоём сплаве меди, но и вообще не будешь знать о ней, полагая, что золото есть золото. Конечно, со временем ты во всё вникнешь, но это будет потом. Для самозащиты тебе дадут пистолет с резиновыми пулями и слезоточивый газ.

Во втором случае тебе с самого начала придётся понимать фундаментальные основы и все нюансы пути до конечного продукта. Из-за суровых условий с собой придётся носить настоящий револьвер, который при неумелом обращении может выстрелить в тебя же или в товарища. Это более сложный путь, но и награда выше.

Искатель ли ты приключений, или ищешь лёгкой наживы - решать тебе. Оба варианта имеют свои плюсы и минусы.
Для десктопа возможностей обоих этих языков хватает с большим запасом, у С# пожалуй даже больше (за счет кучи nuget пакетов).
В первую очередь нужно определиться с целевой платформой.
Если только Windows, то тут C# без вариантов - Windows Forms или WPF (второе лучше).
Если не только Windows, то тут уже есть варианты - Qt (C++) или Avalonia (C#).