Help support MIT OpenCourseWare by shopping at Amazon.com! MIT OpenCourseWare offers direct links to Amazon.com to purchase the books cited in this course. Click on the book titles and purchase the book from Amazon.com, and MIT OpenCourseWare will receive up to 10% of all purchases you make. Your support will enable MIT to continue offering open access to MIT courses. |
Several people have asked which books are best for learning Java®. The answer depends on prior programming experience and personal inclination.
Professor Kaelbling recommends the following two books:
Budd, Timothy. Understanding Object-Oriented Programming With Java®. 1st ed. Reading, MA: Addison Wesley, 1999. ISBN: 0201612739.
Arnold, Ken, James Gosling, and David Holmes. The Java® Programming Language. 3rd ed. Reading, MA: Addison Wesley, 2000. ISBN: 0201704331.
Mike recommends Flangan, David. Java® In A Nutshell. 4th ed. O' Reilly Publications, 2002. ISBN: 0596002831. but admits that it is only helpful if you are already familiar with object-oriented programming from C++. In addition, the newest edition splits all the information about AWT and Swing (the graphics display classes) into a separate book,
Flangan, David. Java® Foundation Classes In A Nutshell. 1st ed. O'Reilly Media, Inc., December 15, 1999. ISBN: 1565924886.
Juan Velasquez recommends Eckel, Bruce. Thinking In Java®. 3rd ed. Upper Saddle River, NJ: Prentice Hall, 2002. ISBN: 0131002872.
If you shudder at the thought of developing in Emacs or Vi, there are several free Java® IDEs that you can check out. Sun's Forte and Borland's JBuilder 4 Foundation will work on Solaris, Linux, or Windows. For the purpose of class assignments, however, Emacs, Vi, Notepad, or some other text editor will be perfectly adequate.
Even if you are an experienced Java® programmer, you may not have heard of Beanshell. Beanshell provides an interactive text-shell environment for evaluating Java® expressions and interacting with a running JVM. This is a very useful debugging tool, as it allows you to instatiate and call methods on objects without recompiling (though you do need to restart the shell if you want to change a compiled class).
To install beanshell,
More documentation is available on the Beanshell Web site.
Java® is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.