The thing is that you can write for pure X Window or use one of the libraries. The difference is that using pure X (Xlib) is very time-consuming. Libraries (like Qt or GTK, wxWidgets and so on) make it much easier. So you'd rather use one of the libraries. The question which one to choose is not an easy one - it's just a personal preference or just one of the libraries supports something your need better than the others.
Then, GUIs. For C/C++ check Anjuta and KDevelop. The difference between them is that Anjuta is more GTK/GNOME related, where KDevelop is more connected with Qt/KDE.
For Java you can use Eclipse (but KDevelop also supports it, if I remember correctly).
I'd not recommend you to use Tcl/TK.
To answer your question, I can't tell you which one is most powerful. I'm afraid you'll need to install and test them, to see which one fits your needs best.