|
On the subject of books and things: I also recommend the Eckel book, partially because it's free, but mostly because he does some good hands-on stuff. However, there are some things you might want to consider. First off, do you plan on being a class creator or a class consumer? A class creator is somewhat akin to being a systems architect - the guy who writes the security programs or the database access routines or whatnot. A class consumer, on the other hand, is more of an application programmer. It is VERY important to understand the distinction, because it will determine what you need to learn. Class consumers need a basic understanding of Java syntax and a strong application background. Understanding the intricacies of object design is far less of an issue. In this case, stick with the Eckel book and the 400-based books, do the online tutorials and you should be in good shape. Class creators, on the other hand, MUST understand the ramifications of object design decisions. They have to know the difference between inheritance and composition, when to use each, and why. They must understand the relationships between interface, implementation and instance. They need to be VERY attentive to details such as naming conventions - in Java naming conventions are absolutely essential to productivity! Class creators must understand some of the basic tenets of object design, such as Iterators and Visitors and Factory Classes - and for this, there are no books better than the Pattern books: Design Patterns (ISBN 0201633612) and Pattern Hatching (ISBN 0201432935). Neither is Java-specific. They tend to use pseudo-code and when they do drop into actual code, it is usually C++. However, the specific language syntax is nowhere near as important as the concepts. If you read Design Patterns and don't say "Ah HAH!" at least a few times, then you're probably going to be more successful as a class consumer rather than a class creator. If Java is the language for geeks, than class creation is Geekdom Squared. The next question is to ask what your user interface will be. I have to disagree with Don about the use of Swing: if you plan on doing any sort of real desktop integration (that is, applications that will work in conjunction with email and word processing and all the rest of the programs you use on a daily basis), then Swing is a necessity. On the other hand, if you're more interested in providing a Web presence for your new and existing applications, then I suggest learning servlets and JSP (JavaServer Pages). Unless you are under severe time constraints, avoid CGI; it is a complicated and unnecessary kludge. Finally, you may want to keep track of my website at http://www.java400.net. As the summer progresses, I'm going to populate it with as many decent examples of Java/400 code as I have time to build. I'm also going to have a section on basic Java, with a number of examples that I've developed for my classes. And I also disagree with Gene - the only reason I CAN teach is because I DO program... a LOT <smile>. Joe +--- | This is the JAVA/400 Mailing List! | To submit a new message, send your mail to JAVA400-L@midrange.com. | To subscribe to this list send email to JAVA400-L-SUB@midrange.com. | To unsubscribe from this list send email to JAVA400-L-UNSUB@midrange.com. | Questions should be directed to the list owner: joe@zappie.net +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.