The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Java or VB for GUI

I am considering developing a desktop app and I was wonder what everyone thinks about either using VB, C++, or Java for the development. I know Joel wrote an article back in 2000 saying he didn't think doing professional apps in Java was good because they don't look like professional apps. So he preferred VB. Is this still most people’s opinion? I’ve been doing Java for the last five years, so it’s what I am most comfortable in, but I’ve done VB and C++ in the past, so I’m sure I could get back in to it, if need be. I was just wonder what the prevailing wisdom of the day was. Also, if you do think Java is good, which API (Swing, SWT, anything else…)?
Aaron Send private email
Tuesday, May 09, 2006
 
 
It's not that simple anymore.  VB is now two choices:  VB 6 (deprecated but still popular) and VB.NET (requires the .NET framework).

And if you're going to consider VB 6, you might as well consider Delphi as well.

And maybe RealBasic.

We have a team here using Java with SWT.  They are quite happy with it.  I consider this to be a very positive endorsement, as this is a team of extremely fussy people who turn crabby and impatient whenever a platform disappoints them in some way.
Eric Sink Send private email
Tuesday, May 09, 2006
 
 
What kind of application? And are you letting your GUI preferences determine which language you use for the back-end?
BenjiSmith Send private email
Tuesday, May 09, 2006
 
 
Unless the application is large, try to stick with a Native Code Compiler (VB, Delphi, C++Builder, RealBasic).  Smallish Java and .NET applications are a waste of system resources.

Nate.
Nate Send private email
Tuesday, May 09, 2006
 
 
I'm not necessarily letting my GUI preference determine what I use for the back end. I know it's not too big of a deal to mix VB with C++, but I went Java it would probably be all Java. Really its hard to say because I haven't really decided what I wanted to write. I just figured if Java did seem like a good option to most people then I would need to take some time to get back into VB and/or C++.

I was figuring if I did VB it would be VB .Net, but really I'm not familiar with the trade offs between .Net and VB 6 (other than .Net requires the .Net framework like Eric said). I don't really know anything about Delphi. I've heard of it several times, but that's about it. So I don't know what to think about that. I'll look at it.

I have to say I'm really interested in RealBasic. I remember looking into it several years ago when it first came out, but forgot about it since then. It looks even better now. I'll have to try it out.

The easiest thing for me to do is to stick with Java since that's what I have the most experience in. I've heard good things about SWT, but I haven't done any GUI development with it, so I don't have an experience with. I'm just concerned that might not be the best option for a desktop app. But if Eric's has a team that is happy with it, maybe it's my best option. Despite the fact that it isn't a native language.

Eric, what IDE does the team use for SWT-Java development. Do they just use Eclipse?

Thaks for your input everyone!
Aaron Send private email
Tuesday, May 09, 2006
 
 
Depends what the app is, doesn't it?

If it's a corporate app, then Java is probably as good choice as any.

If it's a shareware or shrinkwrap app, then go native. Gettomg a non-coffee cup icon, and GUI that truly works like other Windows apps, is worth it, even if it's more work for you to develop.
S. Tanna
Tuesday, May 09, 2006
 
 
>I don't really know anything about Delphi

Well, you didn't know anything about any other language until you started using with it.  Download the personal edition and take it for a spin.  It's ridiculously simple, and if you have VB experience you'll be able to pick it up in no time at all.
Matt Foley
Wednesday, May 10, 2006
 
 
>I was figuring if I did VB it would be VB .Net,
If you plan on using VB.net and then calling C++ code, why not just use C++/CLI?
Ted
Wednesday, May 10, 2006
 
 
Since you know Java - do Java.  I prefer SWT, I find it faster at run-time and uses native controls where they exist so it looks like a 'normal' app.  It also has a rich set of other 3rd-party SWT controls to use.
Paul Norrie Send private email
Wednesday, May 10, 2006
 
 
Quoting:

"Well, you didn't know anything about any other language until you started using with it.  Download the personal edition and take it for a spin.  It's ridiculously simple, and if you have VB experience you'll be able to pick it up in no time at all."

*****************************

What personal edition?  You must mean the Enterprise Edition trial (or wait.. the Architect Edition trial), right?

If you decide you like it, be ready to shell out $1090.00 for the least expensive version (Professional Edition).

IMO, I rather go for Visual Studio 2005 Professional Edition which is a better tool (IMHO) for $799.  Only $1199 with the Professional-level MSDN subscription.

If you plan to use .NET 2.0 features; you will be horribly disappointed with Borland Developer Studio, especially since their C++Builder personality is (IMO) severely lacking.

Other than that, it's a great tool in theory.  It can really boost your productivity, ALOT.  But, unfortunately, Borland has been slacking as of late and it has more bugs than a crack house.

Nate.
Nate Send private email
Wednesday, May 10, 2006
 
 
If you know Java well, go for Java...although be prepared for a ordeal of sorts getting it tightly integrated with the operating system. It _is_ possible these days, but not too simple.

I wrote Barbary Monitor in Java, using
* the SWT GUI toolkit to make it look like a typical Windows app
* launch4j to make the program launch like a typical Windows app (without a coffee cup icon!)
* NSIS installer to make it install like a typical Windows app

I am pleased with the end result. It is something that looks and feels native.
Imminent Send private email
Wednesday, May 10, 2006
 
 
by the time you get you app ready to sell java 1.6 mustang will probably have been released. it does a lot for look and feel of swing based apps. i have been using the beta version in a couple of my production apps (with a small user base) and have struck no problems todate.

it is worth it just for the anti-aliased text on lcd screens
bumperbox Send private email
Wednesday, May 10, 2006
 
 
"Eric, what IDE does the team use for SWT-Java development. Do they just use Eclipse?"

Yep, Eclipse.
Eric Sink Send private email
Wednesday, May 10, 2006
 
 
Yeah, bumperbox, I've been using Java 1.6 too. There are a lot of very cool new features. In addition to the ClearType-like text for LCD screens, it also included support for adding icons to the system tray, some cool splash screen functionality (splash screens that load the moment the JVM starts loading, rather than when your application finishes loading), a fix for the dreades "gray rectangle" Swing bug, and lots of other stuff.
BenjiSmith Send private email
Wednesday, May 10, 2006
 
 
"...because I haven't really decided what I wanted to write."

Decide this first.

I find the choice of (desired) libraries influences my decision far more than the appearance of the GUI. For example, some controls are easier to work with in one language than the other.

However, if you're in a position where you have the time to debate the merits of Java verses VB, then I would just go ahead and take two or three days to learn how to create basic calculator style programs in each.
TheDavid
Wednesday, May 10, 2006
 
 
Thanks for all the advice. I will spend some time look at all the options. I've been pretty interested in RealBasic, the cross platform thing is appealing to me. Has anyone had much experience with RealBasic? Did you like it?
Aaron Send private email
Wednesday, May 10, 2006
 
 
F.Art
Thursday, May 11, 2006
 
 
> the cross platform thing is appealing to me

Me too

Has anybody any comparative experience of RealBasic vs BlitzMax/MaxGUI?
S. Tanna
Thursday, May 11, 2006
 
 
I found this thread discussing RB and SCM (you'll have to ignore the banter). Sound like RealBasic has some RealProblems.

http://discuss.joelonsoftware.com/default.asp?joel.3.336838.15
Aaron Send private email
Thursday, May 11, 2006
 
 
I'd go .NET without second thoughts for a windows app.

Java is much too painful.

VB 6.0, etc... is a prototyping tool.
WhosYourDaddy Send private email
Thursday, May 18, 2006
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz