Dear Java Folks, I have a small software company, and we have been trying to decide on a set of tools for our next product. At the end of the day only Java and .Net were left standing. Still we can not decide. Could you please comment on these opinions and give us reasons to go for Java?, here they are: - Java apps are slow in the desktop - Java apps use a non-standard GUI in Windows - Java apps are not compiled to static code, so they are slower than C/C++ or at least not faster than VB. - Java is only good for the server side or the Enterprise side of Computing This are general opinions, we've heard time and time again, still we have no evidence that these opinions are true. .Net supposedly does away with most of those difficulties but it eliminates or makes it very difficult to target many OSes plus we believe is not yet mature. Please send us your opinions and suggestions to firstname.lastname@example.org Have a nice weekend. Thanks a lot. P.S: What tools/languages/IDEs would you choose to develop a killer desktop app in Windows?
- Java apps are slow in the desktop Java Swing applications are slower. Keep that in mind. Swing is not always slow in the since that a snail is slow. It is slower in the since that a ford escort is slower than a mustang. But I could drop a 425 big block in an Escort and kick the crap out of a Mustang. I may have to rework the frame a bit and get to it from the inside out, but it is possible.
- Java apps use a non-standard GUI in Windows Only if you program it with a non-standard GUI. You can program a JAVA Swing application using the Windows L&F. There are however things Swing won't do without some JNI work, like transparency and the like. It really depends on what you need the app to do though. - Java apps are not compiled to static code, so they are slower than C/C++ or at least not faster than VB. Not necessarily true. Sometimes, yes, but I can write a C++ application that will run slower than a JAVA app. Depends on how you write it. But, are we talking GUI here or console? There is a big difference in performance between the 2 no matter what you write it in. - Java is only good for the server side or the Enterprise side of Computing Leave out the only and that is a good statement. With all of that being said, I have been programming in .NET for a couple of months now, and it is nice. As a whole it's not better than JAVA and JAVA is not better than .NET. When deciding on a language for your project, do not try and choose the best lanuage, period. Choose the best language for the project. My opinion is this - If you are writing a GUI based application for Windows only don't use JAVA if you know .NET or VC++ or VB. If, however, you need it to be able to run on several platforms, or there are specific tasks that the project must perform that are better implememted using JAVA, then use JAVA. P.S: What tools/languages/IDEs would you choose to develop a killer desktop app in Windows? IDE - Visual Studio .NET Language - C# or VB And that is ONLY if I am writing a Windows app and will never need it for another platform. Every language has it's +'s and -'s. You just have to determine what is best for your project. [ September 07, 2002: Message edited by: Gregg Bolinger ] [ September 07, 2002: Message edited by: Gregg Bolinger ]
Greg, Thanks a lot for the reply... actually the desktop software we are planning will have a server part, 80% of the code will be in the desktop, and 20% in the server (at a website). Having asked this question to many Java experts, like yourself, we are inclined to a Java solution, specially since .Net is so new, and we wouldn't like to be "beta testers" and have things break in the middle of the development process. We have been considering two options: - Eclipse, since the IDE is very nice, free, and with "native GUI" components called SWT. - JBuilder 7 which apparently has some Swing components that closely resemble each platform, like windows XP or OSX. Have you or anyone in the forum had any experience with these? What are your comment on the GUI quality, speed, and overall IDE? Thanks a lot for your replies Daniel Knight. P.S. I would appreciate a lot, if you could send a copy of your replies to email@example.com.
I have seen a bunch of Java performance tuning tools and performance booting tools in a few of the Java magazines. They might be worth checking out since performance seems to be an issue for your project. Also, if you use Java, you are more likely to use proper OO analysis and design which should help with maintenance and extensions. Just a few thoughts
Dear Java Friends, We had heard a lot about the low speed of the IDE's, specially JBuilder. So we planned ahead and upgraded our hardware to an Athlon XP 2000+, the result has been amazing performance comparable to a Pentium 4 2200Mhz. All apps, included JBuilder fly! The IDE is very responsive, ALL of them are very responsive, we are evaluating now JBuilder, Eclipse and Sun One Studio. By now it is clear we will go either with JBuilder or Eclipse, and finally optimize using a Java .exe compiler like Excelsior which looks promising. Check out: http://www.excelsior-usa.com/jet.html
I have heard, that other IDE's like NetGain Visual Cafe and IBM's Visual Age for Java, include a Native .EXE capable compiler, is this so? Could any one confirm this? Finally... thanks all for the help, indeed one can develop desktop apps in Java now, the time has finally come! Have a great weekend. Daniel.
IBM have a compiler entitled jikes. This is freely available from their Jikes Webpage. On most professional IDE's the compiler can be changed from default to the one you want to use.
Joined: Sep 07, 2002
Jikes is not truly a binary compiler, but a bytecode compiler, an alternative to the JDK of Sun. At least it looks very much like that on IBM's site. Am I right on this? Or does it generate an .exe file in Windows? The developer FAQ on IBM's site, says it will not do it, and furthermore it requires cygwin to work. So the other alternatives to creat .exe files do look much better. Any comments? or alternative ways to compile an .exe file in Windows? Daniel Knight
I just wanted to comment on the myth of .NET being "new". There is nothing in .NET that hasn't been around for years. ASP, ADO, Windows forms, etc are all technologies that have been widely used for a long time. All Microsoft has done is package the latest release of each of these as a .NET product.