A program that I use often uses an embedded MPV window for video playing, and Wayland doesn't support that, and apparently won't: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/74
So until something changes with that program, MPV, or Wayland, or I decide to rewrite the program myself, I'm stuck with X11.
C++ is pretty alright, IMO, but the syntax is kinda clunky though, I think probably because of some historical baggage.