Cross Platform Programming Language with GUI interface...?

Atheras

Member
Apr 26, 2000
63
0
0
I'm in the design stages of a program that I'd like to be able to have cross-platform capability, but I'm not sure what my options are for the programming language. I'm experienced with Visual Basic, but that's obviously not a cross-platform language (even if it is powerful enough to do what I want). I've programmed very limited in C++ and Java, but knowing the language isn't the problem (I can overcome that).

What's .NET like? I was reading another forum post that was debating Java and .NET and a few people were referring to .NET as "Java done right" and that it was capable of cross-platform? Is this true? (And if so....which section of .NET? If I'm not mistaken there's .NET versions of all of MS popular language programs, as well as C#?)

Basically what I'm looking for is a programming language that you can design a GUI in while allowing for powerful cross-platform capability. If anyone can make any suggestions as to what to use, and why...please do so.

Atheras
 

singh

Golden Member
Jul 5, 2001
1,449
0
0
JAVA's the only option for "above average" cross-platform capability. But, the GUI won't look too nice unless you're willing to put in a lot of work.
 

Atheras

Member
Apr 26, 2000
63
0
0
Alot of work? That shouldn't be too much of a problem really.

Anyone have any recommended reads on Java programming? As I've said....I've messed with it a little, but nothing as far as GUI goes and little more beyond "Hello world" style apps. Any sources would be much appreciated.

Atheras
 

glugglug

Diamond Member
Jun 9, 2002
5,340
1
81
Depending on how you look at it, C++ is cross platform. (You can get a C++ compiler with all the standard libraries for ANY platform pretty much.) Certainly more "cross-platform" than .NET

wxwindows provides some good libraries for handling the GUI, giving your program the appropriate look & feel for whatever the target (Mac OS, Win32, UNIX/XFree, etc). Or so I've heard. Haven't worked much with it myself yet.

kylix is C++ Builder ported to Linux. (Delphi with ability to handle both Pascal & C++ units) That is your #1 choice if your targets are Linux & Windows. Its not available for Mac, at least not currently. The visual development environment and related libraries in Delphi/C++ Builder totally blows away VB or anything else M$ has to offer, even if you have no cross platform plans.

Another option is J++ Builder (java-based version of C++ Builder). The "compiled" code it generates will run in the JVM for any platform's version of java, but the performance won't be near that of C++.
 

m0ti

Senior member
Jul 6, 2001
975
0
0
glugglug,

I've tried wxWindows, looks nice, but I can't get it to compile under vc7. And I don't want to install vc6 to get around this. Know anything about it?



_____________


Java is currently the only thing that's cross-platform "out-of-the-box" (well it doesn't have a box, but you know).

Yes, .Net does "fix" some things in Java (i.e. makes them more comfortable) though there a lot of libraries out there that provide fairly similar functionality on the Java side.

Best book for intro java is Bruce Eckel's "Thinking In Java" Do a search, you can turn up the PDF without a problem (it's distributed that way. You can also buy the print version if you want).
 

Atheras

Member
Apr 26, 2000
63
0
0
Thanks for all the info guys.

m0ti: Plan on doing a search for that PDF right away, thanks!

glugglug: That's true I suppose, but you still have to target a platform with C++ right? Whereas with Java you can just code it and let the JIT compiler handle platform specific stuff. Now if you don't necessarily have to target a specific platform, but instead simply compile a different package for each OS...that could be a possible solution.
 

hudster

Senior member
Aug 28, 2000
809
0
0
Depending on what exactly you're doing, maybe you want to look into a product like Qt, by TrollTech. They have free versions available for non-commercial development here

Maybe it's not quite what you're looking for, but I figured I'd mention it anyway.
 
Aug 16, 2001
22,505
4
81
Originally posted by: glugglug
Depending on how you look at it, C++ is cross platform. (You can get a C++ compiler with all the standard libraries for ANY platform pretty much.) Certainly more "cross-platform" than .NET

wxwindows provides some good libraries for handling the GUI, giving your program the appropriate look & feel for whatever the target (Mac OS, Win32, UNIX/XFree, etc). Or so I've heard. Haven't worked much with it myself yet.

kylix is C++ Builder ported to Linux. (Delphi with ability to handle both Pascal & C++ units) That is your #1 choice if your targets are Linux & Windows. Its not available for Mac, at least not currently. The visual development environment and related libraries in Delphi/C++ Builder totally blows away VB or anything else M$ has to offer, even if you have no cross platform plans.

Another option is J++ Builder (java-based version of C++ Builder). The "compiled" code it generates will run in the JVM for any platform's version of java, but the performance won't be near that of C++.


Kylix and Delphi is also availible in a FREE personal edition.
 

jpprod

Platinum Member
Nov 18, 1999
2,373
0
0
Basically what I'm looking for is a programming language that you can design a GUI in while allowing for powerful cross-platform capability. If anyone can make any suggestions as to what to use, and why...please do so.

Java + Swing is the way to go. Java is fully platform-independent, and the fully-featured GUI-building package Swing has been a standard part of it since v1.3.1. With Swing you can even make the GUI look almost identical on all platforms (using the default platform-independent look&feel).
 

Atheras

Member
Apr 26, 2000
63
0
0
Thanks for all the info guys....I've decided that I'll likely go with Java + Swing as the development platform. So long as I can figure it out :)