Which programming language is used to programming in Ubuntu?

Questions about applications and software
Forum rules
Before you post please read this

Which programming language is used to programming in Ubuntu?

Postby zolly on Sun Jan 14, 2007 6:05 am

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 ?
User avatar
zolly
Level 2
Level 2
 
Posts: 57
Joined: Mon Dec 25, 2006 6:42 am

Linux Mint is funded by ads and donations.
 

Re: Which programming language is used to programming in Ubu

Postby scorp123 on Sun Jan 14, 2007 7:28 am

zolly wrote:Which programming language is used for making applications (with GUI) in Ubuntu ?
Most stuff in Linux is written in C or C++ plus various toolkits for GUI creation. In the case of GNOME this would be C++ and the "Gimp ToolKit" GTK.

But you don't need to be a C++ guru in order to write GUI programs for GNOME. There are other ways. But it all depends on what you want.
User avatar
scorp123
Level 8
Level 8
 
Posts: 2287
Joined: Sat Dec 02, 2006 4:19 pm
Location: Switzerland

Postby zolly on Sun Jan 14, 2007 12:08 pm

What about Python ? Is it used in some applications ?
User avatar
zolly
Level 2
Level 2
 
Posts: 57
Joined: Mon Dec 25, 2006 6:42 am

Postby scorp123 on Sun Jan 14, 2007 12:41 pm

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 ...

http://www.pygtk.org/about.html
http://www.pygtk.org/pygtk2tutorial/index.html

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. :wink: 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. :wink:

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 :wink: Once you're a master at C and C++ stuff like Java and C# are ridiculously easy :wink:
User avatar
scorp123
Level 8
Level 8
 
Posts: 2287
Joined: Sat Dec 02, 2006 4:19 pm
Location: Switzerland

Postby clem on Sun Jan 14, 2007 2:49 pm

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.

Clem
User avatar
clem
Level 15
Level 15
 
Posts: 5514
Joined: Wed Nov 15, 2006 8:34 am

Postby Josh on Thu Jan 18, 2007 2:52 pm

If you really want to go the hardest path possible you'll have to learn C and C++ though


Now why would anyone want to do things the hardest way possible? :D :P
User avatar
Josh
Level 1
Level 1
 
Posts: 18
Joined: Sat Nov 18, 2006 10:29 am
Location: Abilene, TX USA

Postby scorp123 on Thu Jan 18, 2007 4:03 pm

Josh wrote:Now why would anyone want to do things the hardest way possible? :D :P
Because anything else is too easy? :wink:
User avatar
scorp123
Level 8
Level 8
 
Posts: 2287
Joined: Sat Dec 02, 2006 4:19 pm
Location: Switzerland

Postby manishk on Thu Jan 25, 2007 8:21 am

I've just started learning C. I installed Anjuta through Synaptic.

But I'm unable to figure out where are the compile, run (...etc) options!!

If I make a new Project, then these options show up, but I still could not run it.

Can't I compile and run a single source code file??

Pls help.
User avatar
manishk
Level 3
Level 3
 
Posts: 191
Joined: Wed Nov 29, 2006 4:19 pm
Location: India

Postby zolly on Sat Jan 27, 2007 11:16 am

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.
User avatar
zolly
Level 2
Level 2
 
Posts: 57
Joined: Mon Dec 25, 2006 6:42 am

Postby hairy_Palms on Sat Jan 27, 2007 10:27 pm

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.........
User avatar
hairy_Palms
Level 4
Level 4
 
Posts: 297
Joined: Mon Nov 27, 2006 10:46 am

Postby scorp123 on Sat Jan 27, 2007 10:39 pm

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 ... :wink:
User avatar
scorp123
Level 8
Level 8
 
Posts: 2287
Joined: Sat Dec 02, 2006 4:19 pm
Location: Switzerland

Postby hairy_Palms on Sat Jan 27, 2007 10:55 pm

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.
User avatar
hairy_Palms
Level 4
Level 4
 
Posts: 297
Joined: Mon Nov 27, 2006 10:46 am

Postby scorp123 on Sun Jan 28, 2007 4:22 am

hairy_Palms wrote:yeah i know managers love java, i didnt know they loved C# though.
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 :roll: ... Hey wait, Windows operating systems are actually very close to that :lol:
User avatar
scorp123
Level 8
Level 8
 
Posts: 2287
Joined: Sat Dec 02, 2006 4:19 pm
Location: Switzerland

Postby clem on Sun Jan 28, 2007 6:02 pm

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.
User avatar
clem
Level 15
Level 15
 
Posts: 5514
Joined: Wed Nov 15, 2006 8:34 am

Postby zolly on Sun Jan 28, 2007 6:28 pm

Now, because Java has GPL license (http://www.sun.com/2006-1113/feature/) it will be one of the most important language in Linux besides C/C++
User avatar
zolly
Level 2
Level 2
 
Posts: 57
Joined: Mon Dec 25, 2006 6:42 am

Linux Mint is funded by ads and donations.
 

Return to Software & Applications

Who is online

Users browsing this forum: ccc, simply and 23 guests