Assuming you're talking about desktop applications and, in that case, you can use almost any language (provided it has bindings to graphic libraries/interfaces).
So, I'll mention what I would use:
Python: The nice thing about python is that it has libraries for almost anything. One of the few things one can't do with python is front-end web development and, even then, there are transpilers to js and web-assembly is around the corner. But I digress; anyway PyQT is one of the best choices, or so I've seen, as far as graphic libraries come.
Javascript: For all the talk about it supposedly being a limited language, one needs to see no further than Gnome Shell to see what can be done with js in the desktop.
C/C++: They are the no-brainer choice. Examples of what can be done with them: Most web browsers, most office suites, most media players, most media editors, most file browsers, most everything really.
Marco Alka
Software Engineer, Technical Consultant & Mentor
In my opinion, the question should not be about which language "should be used for GUI development", but what are your requirements? Do you need performance? Then go for a performance-language, like C, C++, Rust. Do you need something highly standardized many people are familiar with? Then go for HTML+CSS+JS. Do you need something in between? Python will be a good friend! There are many more, and just like @luord wrote, you can use any language which has bindings to graphics libraries, like Vulkan, OpenGL, Direct2D/Direct3D, GDI,...
For each of the platforms, there are many many many libraries and frameworks which make your job easier, so you might want to take a look and decide for one of them. A few of the most well known include Qt, GTK+, wxWidgets, .NET graphical components,...