zolly wrote:What about Python ? Is it used in some applications ?
Strange question. Why does that matter???
You can write GUI applications in Python if that was your question. In fact many of the command shell programming languages (bash, perl, python, Tcl/Tk, ruby, many more) can be used to produce GUI programs, it's just a matter of using the right libraries for your application
. Python has e.g. libraries such as PyGTK
with which you can write full GNOME applications in that language if you wanted to ...
But basically you could use any language you want ...
heck, you could even use plain old stupid spaghetti-code BASIC
if you want to. There are VisualBasic-like IDE's and compiler packages that can be installed on Linux ... they are not really popular with the C and C++ guru crowd (because code written in languages such as C, C++, Java, Python, PERL is far easier to port over to another machine architecture or even CPU platform and OS ...) but that shouldn't stop you from using it if you want to use it.
Personally I'd recommend something like C# or Java
... I know that these languages are rather complex, but they have one advantage: There are tons and tons of pages with code examples and tutorials and these two languages are both used in the Windows and UNIX world, so what you learn here can be used in both worlds which is good!
I know programmers who make a fortune because of their Java programming skills. Especially if you know how to program stuff for application servers such as Tomcat, JBoss, IBM WebSphere
or BEA WebLogic
your Java lessons will pay off fast.
Big corporations love stuff like JBoss
and BEA WebLogic
and if you're good at Java you can really make a living off it.
And yes, you can write GNOME applications in Java too if you wanted to.
But to get back to your question: Use whatever language you want or you think you will have the least problems with.
Learn the basics, and from there on it should be easy to use the right libs and start writing GNOME applications if that is your goal.
If you really want to go the hardest path possible you'll have to learn C and C++ though
Once you're a master at C and C++ stuff like Java and C# are ridiculously easy