I was wondering the same thing myself a while back. Although I was trying to decide between C and Python. I have played with C, C++, Java, C#, Python, and Objective-C. I have to admit I like Java, but its hard to beat C for pure performance. Since performance could be an issue on the Pi as you point out, its hard to beat C. Although, for making GUI's its hard to beat Java or Python for ease of use. So I'm considering combining C with Python for some projects I have planned.
I have clocked C vs Python by toggling GPIO with both and measuring the signal with my oscilloscope. C is not just a little faster, its like 100+ times faster. I measured it. Here is a link to my oscilloscope plots and the code I used to compare Python with C by toggling a GPIO pin:
http://www.spazztech.com/python-vs-c-on-rpi.html
However, making a GUI in C might take a little more effort than makes sense.... unless someone has a good C library for this they want to share. So I'm thinking of making GUI's with Python and handling the underlying logic flow with C code. Since Python is extensible with C, I think this should work out well. Although, I admit I have not actually tried it yet.
So maybe you could do something similar. Java is great for making the user interface, but maybe handle the program logic with something like C or C++ for performance sake.