Hello all,
We have been doing "real" java development for most of the year.  We have finished one application which is currently in production use, and we are currently working on two other projects, to be completed 2nd qtr 99. 
Our first project is running completely on NT using DB2/400 as the database server.  One big problem with Java at this point is its printing capabilities, or should I say lack of capabilities.  The AS/400 and ILE RPG is far superior to Java in regard to printing, therefore
we are using the AS/400 for printing purposes as well.
Our second project is a complete re-write of an existing RPG application.  It's a typical AS/400 core business application-- order entry, A/R, billing, etc. We are implementing a three-tier client server architecture, with a very thin client, and the AS/400 handling the
bulk of the workload as the business logic and database server. 
Our third project is completely NT based, using Universal DB2 as the database system.  We are researching printing beans and other approaches to printing.
Some things learned about Java along the way:
  • Java is far superior to RPG (except for printing), in regard to programmer productivity.  It must be taken into account that we have developed a good set of beans and base classes.  We have calculated that our Java programmers are at least 5 to 10 times more productive that our RPG programmers.
  • Part of the productivity gains with Java has been achieved through the use of object oriented design tools and methodologies.  We have standardized our design methodology on UML, and have use a suite of OO design tools from Rational Software.  We have tried unsuccessfully over the past few years to utilize UML and OO design tools for use in projects written in RPG.  It just doesn't work.  The conceptual gap between OO design and construction in RPG is too wide. 
  • Through the use of UML and OO design tools are senior people can produce a detailed object model of the system.  This has allowed us to hire entry level programmers (recent college grads) that have turned them into highly productive programmers in a few months.  We have never been able to do that with RPG.  Also, these college grads have had at least one year of Java under their belts.
  • Java is ready now.  Java may be in its infancy but it is not an immature technology.  We are using JDK 1.1.6 and JFC 1.0.1.  The capabilities and programmer facilities provided by these Java versions exceed those provided by the most recent version of RPG.  (except for printing)
In regard to learning Java:
  • Your experiences of not being able to learn Java without a "real" project to work on are the same as ours.  We had been playing around with Java for a year or so but nothing sank in until we had the transparent gun to the head.
  • The syntax of Java is relatively easy to learn and master.  OO concepts are not that difficult to learn but very difficult to master.  Mastering OO design is the key to Java.  Using object modeling tools definitely helps shorten this learning curve.
  • We hired experienced C++ programmers as our lead designers and programmers on our Java projects.  I would highly recommend working with experienced OO professionals at least during your first project. 
  • The books we have found most useful have been:
    • Bruce Eckel's Thinking in Java along with his seminar on CD -- Hands on Java.
    • Java for RPG programmers by Coulthard and Farr.
    • Core Java Foundation Classes by Kim Topley
    • anything published by O'Reilly.
    • Objects Models--Strategies, Patterns, and Applications by Peter Coad is a good book to get started thinking OO.
In regard to IDEs:
We researched three IDEs, VisualAge, JBuilder, Visual Cafe.  Originally, we selected JBuilder 1 and used it for several months and upgraded to JBuilder 2 when it was released.  However, we revisited VisualAge when version 2 was released.  We found it to be much improved and switched to VisualAge 2 Enterprise Edition.  We are very pleased with that product.  Perhaps more importantly, IBM's support has been tremendous, both for VisualAge and Java in general.  I would highly recommend VisualAge 2 over the other IDEs.
I disagree with some of the comments that suggest not using an IDE to get started to some extent.  I do agree that they should not be used to create your user interface classes, because they produce horrific code.  However, IDEs do a good job of keeping things organized, provides much better debugger tools,  and the code assist features aid in the learning process.  I would recommend using an IDE to get started, but use the visual composition tools to create "example code" only.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.