Visit Jeremy's Blog.
Go Back > Forums > Non-*NIX Forums > Programming
User Name
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.


  Search this Thread
Old 12-22-2005, 05:49 PM   #1
LQ Newbie
Registered: Aug 2005
Location: Montréal, Québec, Canada
Distribution: Ubuntu 5.10
Posts: 3

Rep: Reputation: 0
Question 1st programming language for GUI

I want to learn a programming language on my own. At college, I'm currently learning Visual Basic .NET(started, not that far into it) and later Java and ASP.NET.

But I want to learn other languages. I want to program GUIs preferably. Also preferably cross-platform. I'd like to program apps in *nix first and then maybe Windows, Mac OS X...

What language or "language learning path"(ex: first this language then this one) would be good for this goal?
Old 12-22-2005, 07:32 PM   #2
LQ Newbie
Registered: Sep 2005
Distribution: Slackware
Posts: 24

Rep: Reputation: 16
Cross Platform: wxWindows, wxPython, Tcl/Tk, Python/Tkinter

Others: GTK, QT

wxPython and Tkinter are the easiest to learn.
Old 12-22-2005, 10:30 PM   #3
Registered: Jul 2003
Location: CT, USA
Distribution: Debian Sarge (server), Etch (work/home)
Posts: 601

Rep: Reputation: 31
GTK+ is a cross-platform GUI toolkit, but I've never tried installing it on MS Windows. There's a new native GTK+ port for Mac OS X that looks promising, so I'd suggest that GTK+ is a good way to go.

I'd suggest using either Perl or Python to try it out -- both languages come with bindings to GTK+.

I'd also suggest eventually trying out Glade for building your GUI graphically.
Old 12-22-2005, 10:42 PM   #4
Senior Member
Registered: Jan 2005
Location: Canada
Distribution: ubuntu
Posts: 2,539

Rep: Reputation: 60
id say no matter what your planning to program, stick with until your quite comfortable with programming... ie, until you can, say, make a decent text editor clone with save/open/new file functionality.

after getting the basics down and becoming comfortable, i agree java is a next good step (or c++), as youll expand your knowledge incredibly on programming and OOP design and how everything actually works.

with java you can run your program on any OS as long as the JRE is installed, including of course your GUI apps you want. i think java is amazing, but the down side of it is that its slower.. i dont find it slower but thats what everyone says.

edit: asp is, ahem, useless... at least how i learnt it in school.

Last edited by nadroj; 12-22-2005 at 10:44 PM.
Old 12-22-2005, 11:31 PM   #5
Joseph Schiller
Registered: Oct 2003
Location: New Jersey
Posts: 44

Rep: Reputation: 15
Java is good choice. Build once run anywhere, but not pretty. Visual environments come with wizards that let you build skeleton apps and you can build fine guis around them. When you start manipulating raw data and fields in strange ways and you are over budget and deadline is tomorrow morning? Lisp has been around 40 years, but you can't build guis with it. Lots of insignificant silly parentheses but its great for AI. AutoCAD is written in it. There's an interesting blurp about debugging $100M hardware 100 million miles from home at My friend told me all roads lead to lisp, not Rome. It's not going to be easy. The best advice I've heard was when you appreciate the run-of-the mill everyday rudimentary stuff, like mixing beakers and regents, you will make a great scientist; if all you covet is the noble prize, you won't make it.
Old 12-23-2005, 01:07 AM   #6
Registered: Jul 2004
Location: louisiana
Distribution: fedora 4/kubuntu
Posts: 116

Rep: Reputation: 15
I think qt designer and c++ or other lang. is great.
Old 12-23-2005, 01:31 AM   #7
Registered: Feb 2004
Location: Outside Paris
Distribution: Solaris 11.3, Oracle Linux, Mint
Posts: 9,707

Rep: Reputation: 416Reputation: 416Reputation: 416Reputation: 416Reputation: 416
Java is good choice. Build once run anywhere, but not pretty.
You can use Swing's pluggable look and feel feature to get eye candy interfaces, and Java 5.0 is fast !.
Old 12-23-2005, 01:43 PM   #8
Registered: Jan 2005
Location: Chandler, AZ USA
Distribution: Mandrake/Mandriva 10.2
Posts: 186

Rep: Reputation: 30
Yeah, Java is a good language to start learning GUI, event handling and threading techniques (may I recommend Java Swing, Oreilly). Please keep in mind, the paradigm for GUI programming differs between tool kits and implementations, so you have to relearn somethings as you move about, but the concepts are still similar.

Qt is also fun, but they make you go through a lot of hoops, it seems, to use on a win32 (you have to get license agreements etc). I only use QT on linux.
Old 12-24-2005, 02:24 PM   #9
Registered: Jul 2003
Location: Gauteng, South Africa
Distribution: Windows XP, yup :D Will be back onto Ubuntu probably someday
Posts: 107

Rep: Reputation: 15
Java Swing is definitely a good choice as Java is very portable and the Java Tutorial ( tells you pretty much all you need to know as a beginner. The only really tricky thing is threads and timers, but even they aren't that hard to learn about from the tutorial.
Old 12-24-2005, 09:13 PM   #10
Registered: Jul 2005
Posts: 74

Rep: Reputation: 15
i just got graduated from college and i have a big advice for you:
try not to learn everything that exists but if you wanna learn something make sur e to learn it as good as possible(especially when you are paying $$ to learn it).

if you are a beginner programmer i recommend that you stay way from gui until you can do your assignments completely on your own, after that go to, java then c and c++.

if you are a experienced programmer at this point then go for c and c++ right away and use the comon packages for graphical development including qt nad gtk. if you be able to learn javax.swing in the mean time it will be a big plus for you as well.
Old 12-25-2005, 12:10 AM   #11
Registered: Jan 2005
Location: Chandler, AZ USA
Distribution: Mandrake/Mandriva 10.2
Posts: 186

Rep: Reputation: 30
if you are a beginner programmer i recommend that you stay way from gui until you can do your assignments completely on your own, after that go to, java then c and c++.
I agree, although I always just used a book for reference, I never would 'team program'. I think that just confuses people, since some code is so disorganized and uncommented.
As far as the concepts go, languages are the details of the implementation, so they are not really that important (learn the differing paradigms of languages, procedural, oop, purely functional, etc). Do not forget the importance of studying algorithm design and the mathematical proofs that go with it. Not to mention Linear algebra, digital design, and all advanced calculus that are key to understanding processors at low and high levels. These are commonly overlooked by the more practical business programmer and IT curriculums, but are needed for efficient solutions. Sure you can build working applications without this knowledge, but when it comes to competition, the fastest average asymptotic implementation will have a better performance.

Last edited by elyk1212; 12-25-2005 at 12:28 AM.


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
which programming language is used to do tcp/ip programming?? gajaykrishnan Linux - Networking 9 12-21-2012 05:16 AM
Best programming language to use cudajaw Linux - Newbie 30 03-12-2005 04:09 AM
which programming language? rgiggs Programming 11 04-15-2004 06:29 PM
Which programming language top111 Linux - Newbie 8 08-22-2001 07:21 PM > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 07:37 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration