Java is a modern object-oriented programming language appropriate for most large scale development work. It is a relatively simple language supported by a vast library of resources. It is generally an easy and safe language to use. However, the programmer must be familiar with basic notions of object-orientation to use it effectively. There are also a number of design and coding patterns that ease its use. Unlike C++, for example, there are few pitfalls. The language is thoroughly defined so that programs written for one platform can be expected to run on others without (much) modification.
You must, of course, learn Java. If you know C++ well this should be very easy. The following will help. Included here are a number of papers that can be accessed from the instructor's home page.
Java vs. C++ (http://csis.pace.edu/~bergin/)
Interfaces in Java
Model-View Paradigm in Java
GUI Programming in Java (Java 1.1)
Java I/O Explained
http://csis.pace.edu/~bergin/patterns/event.html (Java events)
http://csis.pace.edu/~bergin/patterns/SimpleDesignPatterns.html (Section on Client Server)
Java in a Nutshell. (Chapter 2-5 especially) This book is mostly for reference.
Core Java. (Volume 1 especially)
Java Tutorial (2ed.) Campione and Walrath, Addison Wesley, 1998.
Java Documentation, White papers, and Tutorial from Sun. These can be downloaded or viewed on-line.
Here is Sun's Java Tutorial
TheJDK comes with a debugger JDB. Here is how to use it.
Here is a glossary of Java terms.
Here is an elementary course on Java.
Here is another resource page for Java.
O'Reilly's books are an excellent source of information about Java. Their Java resource center is at http://java.oreilly.com/.
The programming style and methodology are different in an object oriented program. This requires a different way of thinking. The following resources help you see how an OO program is different from a procedural one and how patterns can help.
Last Updated: July 30, 2000