Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Java Envy?


December 7, 1997

By Mike Pence and Ed Ayers

It happens at least once a week.

It might be yet another article on Java in PC Week. It might be another problem the distribution of our software that would go away if it were written in Java. It might be that sleek black and red JBuilder box, so shiny and new, staring at me on the corner of my desk.

Or, maybe it is remembering how much fun it was to write a couple of small applications in Java, enjoying it’s simple syntax.

Java envy.

The momentum behind Java is certainly compelling. With the NOISE consortium (Netscape, Oracle, IBM, Sun and Everyone else) so visibly pushing Java, JavaBeans and CORBA, it has all of the appearances of the Next Big Thing. Even Borland fell all over themselves to mention JBuilder in their press release following their return to profitability, never mind that Delphi sales were the major factor pushing that recovery. The December 1, 1997 issue of PCWeek had the word "Java" in it 140 times, "Delphi" was not even mentioned.

What’s a Delphi developer to do?

The biggest mistake would be to dismiss Java out of hand. Narrowmindedly saying "That’s not what I program in" makes us no better than anyone else who stubbornly clings to their current tool of choice, and allows them to be intimidated by anything else. Think of the reaction that most Visual Basic programmers have to Delphi.

Equally erroneous would be to drop all Delphi development and rush to Java, damn the torpedoes. There are reasons that the world is not proliferated with Java database applications yet, and you need to know what they are.

So, journey with me through my Things to Think About When You Suffer Java Envy list.

1. What platform are you targeting?

This is a big one. Java’s Write Once, Run Anywhere mantra is the source of serious contention, but the question is, do you need to be multi-platform? If the answer is, as it is for us, "No, we write for Win32," then you have a compelling reason to stick with Delphi, for now. The only way for Java to compete with Delphi in Windows performance and flexibility, would be for the language used in Delphi 3 to become Java. Many have noted that Delphi 1 had more features and was easier to use for Windows development that JBuilder, even once you get over the Java learning curve. Moving to Java for the sake of moving to Java, when your sole development target is Win32 is taking a huge functional step back from Delphi 3. Even considering the available Java environments that produce Win32 EXE’s, they still lack the tight integration with the OS that Delphi offers, and offer much slower performance.

On the other hand, if multi-platform development is a big issue for you, Java provides a great way to get there. More and more Java-only JDBC drivers allow you to deploy applications on servers and have true Zero Configuration on your client machines, which is a wonderful thing.

2. What about performance?

Performance is a loaded term that means different things to different people. For me, performance means that the user clicks a button, and something happens quickly. When the UI feels nimble and responsive, the application seems polished. Is Java fast enough for most UI considerations? Probably. Is Delphi super fast with almost zero effort? Definitely. For now Java’s performance is mediocre, but promising to get better. Delphi always cooks. So, if you are doing something where the 20X speed differential between machine and interpreted code matters, add a check in the Delphi column.

3. Can I produce elegant user interfaces in Java?

Have you ever noticed that Java applications look cartoonish? Targeting multiple platforms makes your font and sizing/spacing considerations much more complicated. The AWT (Abstract Windowing Toolkit) is admittedly the weakest part of Java, for now. This makes it very difficult to produce sexy interfaces. The Java Foundation Classes (JFC) change this situation dramatically, if a GUI built on top of a GUI is a performance hit you are willing to take.

4. Can I print my reports in Java?

Notably absent from JBuilder is any kind of reporting components. Printing on multiple platforms under JDK 1.1 is inconsistent and immature. Forget about putting your Crystal reports or QuickReports into a Java print engine. It doesn’t exist yet. Without reporting capabilities, it is difficult to produce database applications that fill user’s requirements.

5. What about my code base?

Yes, we would all still be programming in PL/1 or COBOL if an existing code base kept us from moving to a new platform for development. Still, this is a consideration that should be given due weight.

6. Can I find Beans to replace all of my components?

Not yet, but this situation is improving. The Java Beans component architecture is garnering widespread support, and more and more components are available each day. If you think that you can move to Java and keep the same look and feel of your existing Windows applications, you probably have a harsh bit of reality to face. On the other hand, with IBM, Netscape, Oracle and others producing Beans to do just about everything, the future looks bright in this area.

7. What about retraining our developers?

Actually, the learning curve from Java to Delphi is not a very large one. Delphi is probably closer to Java than any other language, in it’s support for OOP (with inheritance) and Interfaces especially. Still, you must plan for an extended period of retarded productivity when making a language transition.

8. Why am I using Delphi today?

Before you jump ship to Java, think about why you chose Delphi. Are your reasons still valid? Has a sudden need for multi-platform capabilities arisen, or are you responding to the hype?

The Java juggernaut seems to be unstoppable at this point. Borland has stated clearly that they are very interested in Java and Delphi co-existing peacefully, and it will be interesting to see how they go about accomplishing this. While we seem to be a long way off from Java offering the power of Delphi 3 for Windows developers, those who must target multiple platforms should consider this elegant new language.

Most of all, before you jump ship from Delphi, be sure that you know the potential hurdles ahead. You might just find compelling reasons to stay right where you are, for now...



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use