LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   1st programming language for GUI (https://www.linuxquestions.org/questions/programming-9/1st-programming-language-for-gui-395762/)

Lokken 12-22-2005 05:49 PM

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?

seandon4 12-22-2005 07:32 PM

Cross Platform: wxWindows, wxPython, Tcl/Tk, Python/Tkinter

Others: GTK, QT

wxPython and Tkinter are the easiest to learn.

johnMG 12-22-2005 10:30 PM

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.

nadroj 12-22-2005 10:42 PM

id say no matter what your planning to program, stick with vb.net 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.

Joseph Schiller 12-22-2005 11:31 PM

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 http://www.flownet.com/gat/jpl-lisp.html. 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.

dugas 12-23-2005 01:07 AM

I think qt designer and c++ or other lang. is great.

jlliagre 12-23-2005 01:31 AM

Quote:

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

elyk1212 12-23-2005 01:43 PM

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.

jamie_barrow 12-24-2005 02:24 PM

Java Swing is definitely a good choice as Java is very portable and the Java Tutorial (http://java.sun.com/docs/books/tutorial/uiswing/) 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.

devbro 12-24-2005 09:13 PM

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 vb.net, 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.

elyk1212 12-25-2005 12:10 AM

Quote:

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 vb.net, 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.


All times are GMT -5. The time now is 12:06 PM.