Or what programing language should I use to develop ubuntu desktop applications?
It is a rather broad topic. Much depends on your personal preferences and the type of the software you'are writing. My Preferences are:
Java - gives you binary portability to numerous platforms, rich library of ready-made frameworks, excellent memory management and many other advantages. On the downside it is rather resource hungry and has steep learning curve.
C++ - you can achieve highest speed with small memory footprint, however the code is subject to subtle programming errors such as memory leaks and race conditions. Also portable but with more difficulties - high degree of caution required. Again steep learning curve.
One of the multiple scripting languages such as Python, Java Script, PHP, Perl and so on - I personally do not like this option. At the expense of the maintainability you just get easier get-on. In my opinion it is suitable only for small & quick applications not expected to last long or gain large user-base.
This link also may help you: https://help.ubuntu.com/community/PowerUsersProgramming