Which programming language is used for making applications (with GUI) in Ubuntu ? I'm talking about applications that are installed when I enter in GNOME in Ubuntu.
Can you recommend some books or sites ?

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

mintDesktop, mintDisk, mintConfig... are all written in Python. Their interface is designed via Glade. I know Ubuntu like python a lot too. I personally like Perl and Java better, but although they can use GTK, I found it easier to modify existing pygtk source code and to learn python and glade.

So.. IMHO not a great language, but with Glade, a great combination of tools to make simple GUI apps for Gnome.

I used Anjuta. I made a project with the Project Wizard. It creates an "Hello World" application. I build it and I try to execute it but it shows this message "The target executable does not exist for this project", but the target for the project was completed by Project Wizard. I don't know what can I do to execute this project.

C# isnt cross platfrom, (i know about mono apps but they suck) and gnome is written in plain C IIRC which is part of the reason it is faster than the C++ of kde ive been using java for about 6 months but only because its part of my degree, i hate it for the same reasons i hate mone/C#/.net, large memory usage, slow loading times, slow execution speed and also in javas case they look uglier than native apps.

PS Seriously mono/.net sucks, why learn C# ?
its the complexity of C++ with the execution speed and resource requirements of java.........

hairy_Palms wrote:PS Seriously mono/.net sucks, why learn C# ? its the complexity of C++ with the execution speed and resource requirements of java.........

I know. But in the industry there are too many managers who like this BS, they just love Java and C# ... And as you know, managers don't necessarily decide stuff based on technical merits as e.g. I as admin would do. But fact is you can make lots of money as programmer if you're good at this BS. Especially if you apply Microsoft's tactics: Make your programs slow and broken, and then claim it's a feature. If it's more or less good despite these shortcomings your customer will pay you for years to come just to supply badly needed patches ...

yeah i know managers love java, i didnt know they loved C# though.
To be fair thats a lot to do with Suns server tools rather than the java language itself java just happens to integrate nicely with those tools making it the managers logical choice.

Some of them do. There many "Microsoft-lovers" amongst managers. They'd love to have cow dung on their desks if only Microsoft produced it ... Hey wait, Windows operating systems are actually very close to that

Java is a wonderful language (one of my personal favorites), it evolves extremely fast and there's a lot of things happening around it. It's extremely flexible and allows modular, clear and scalable programming. Also it's very easy to port from one platform to another and it just became open source. No wonder this language has become the new standard in software programming.

By the way:
- there are a lot of GUI APIs for Java (GTK for instance) if you don't like the default look of Swing.
- Swing is themeable. You can even make it look like KDE's "Plastik".
- You can compile bytecode to binary and there are a lot of ways to make Java extremely fast.

I could rewrite mintDesktop or any of the python scripts I wrote in Java and you wouldn't see the difference.

Clem,
PS: Now having said that.. I do hate the way the software industry has become a real "industry" and how programming within a company has become so industrial rather than artistic... and I hate the way Java, by its qualities, has participated greatly in that.