Index to Links
There are many electronic references on the Web, and I encourage you to explore. I have tried to pare down references to a managable size. Please send useful links to
- Java Background and History
- Java Programming Tools
- Java Programming References
- Programming Style Guide
- University Computing Resources
- Introduction to Linux
- Text Editors
- JavaServer Pages (JSP)
Java Background and History
- Sun Developer Network
- Java FAQs and Tutorials
- Java (Wikipedia)
- James Gosling (Wikipedia) Father of Java
- Java Ranch A friendly place for Java greenhorns. .
Java Programming Tools
You can find a link for useful information about compiling and executing a Java program here. I have listed references to some of these options below.
JDK (Java Developement Kit) Tools.- Java API
- javac Java Compiler
- java Java Application Launcher
- jar Java Archiver
- javadoc Java API Documentation Generator. The javadoc homepage is here. A useful Tutorial is here.
- jdb Java Debugger
- appletviewer Java Applet Viewer
- ant (Wiki-page) Useful Wiki page for Ant project builder.
Integrated Development Environment (IDE).
- Eclipse is available on the CS machines, and is free if you wish to download it onto your home machine.
- KDE Development Environment. KDE is a graphical desktop for Unix and Linux workstations. There are many applications for this environment available on the CS machines. Here is their website
- Apple. Java Developement Resources for the Apple system.
Text Editors. Many text editors now have plugins which give you many of the nice features of an IDE, including the ability to compile and execute Java programs in the editor and command completion. I have links below.
Java Programming References
The books and resources I have posted below are all available on the web (although the books through Safari require access through a University of Chicago account.) Two very good and inexpensive books (link to Amazon) are
- Head First into Java by Bert Bates and Kathy Sierra. Perhaps, the best introduction to Java.
- Java Precisely by Peter Sestoft. Fast introduction into Java for an experienced programmer.
-
Java in a Nutshell
-
Effective Java
- Java API
- Thinking in Java by Bruce Eckel
- Introduction to Programming Using Java by David Eck
- Java Tutorial Page Tutorials from Sun.
- Thinking Like a Computer Scientist by Allen Downey
- Java Language Specification (3rd Edition) by James Gosling, Bill Joy and Guy Steele.
Programming Style Guide
The essence of style is clarity and consistency. Choose the guide that you are comfortable with and program yourself to follow it.
- Coding Conventions for Java by Sun.
- Good Java Style Article by Thornton Rose
- Jave Programming Guidelines from Geotechnical Software.
Text Editors
There are many free Text Editors out there and many have plugins available so that you may compile and run Java programs and do command completion in the text editor, just as with IDEs. All the editors below are free and available for any machine, and all can be found on the CS machines.
- Vim. I use the traditional commandline Vim to avoid the slower XWindows connection. An excellent reference is vi IMproved (pdf) by Steve Oualline. I have other useful links as well.
- XEmacs. GUI version of Emacs text editor for Unix. I have links to tutorials and resources for the traditional Emacs. You will not need these for XEmacs.
- NEdit. This editor came recommended to me.
- JEdit. Written in Java. I have been using JEdit, and have found it very easy to use, with many plugins available. Since it is written in Java, you can import and run it on any machine that has the Java VM. Currently, found only on the Macs in the MacLab.
- Kate. This is the advanced text editor for the KDE environment. KDE is is the Desktop environment for Linux/Unix, and is found on the CS machines. They have an IDE as well as, which uses Kate as the text editor.
Introduction to Linux
These are useful links for getting started on Linux.- First Linux Tutorial
- Linux Command Line Tutorial
- Unix Tutorial (pdf) A training manual from Rice University.
- Linux Fundamentals (pdf) A training maual from Fortuitous Technologies.
-
Learning the Unix Operating System, 5th Edition
by Jerry Peek, John Strang, Grace Todino-Gonguet
-
Practical Unix
By Steve Moritsugu, James Edwards, Sanjiv Guha, David Horvath, Gordon Marler,
Jesper Pedersen, David Pitts, Dan Wilson
-
Linux Cheat Sheets
Each two pages, Print and Keep at your side.
Computing Resources
Links to computing resources at the University of Chicago.- Computing Services Useful information on opening a CS account and remote access to CS computers.
- Computer Science Instructional Services The Mac and Linux Lab in basement A of Regenstein Library. Much useful information on what is available on the Macs.
-
Other Useful Links
JavaServer Pages (JSP)
- JavaServer Pages, Sun's documentation of JSPs.
- JSP Overview and Tutorial, from the book Core Servlets and JavaServer Pages by Marty Hall.
- JavaServer Pages for Web-based Online Help by David Castro. Excellent discussion of using HTML forms and JSPs.
- JSP Tutorial simple overview of what you can do with JSPs through example code.
- JSP Files: Bagged and Tagged, very nice overview of using JSPs.