Recommended Reading
There are many books written on the topics discussed in the previous section. The following list includes books we have found to be the most useful over the years in the development and maintenance of IDL. There are thousands of books not mentioned here. Some of them are also excellent. The absence of a book from this list should not be taken as a negative recommendation.
The C Language
Kernighan, Brian W. and Dennis M. Ritchie. The C Programming Language, Second Edition. Englewood Cliffs, New Jersey: Prentice Hall, 1988. ISBN 0-13-110370-9. This is the original C language reference, and is essential reading for this subject.
In addition, you should study the vendor supplied documentation for your compiler.
Microsoft Windows
The following books will be useful to anyone building IDL system routines or applications that call IDL in the Microsoft Windows environment.
Petzold, Charles. Programming Windows, The Definitive Guide to the Win32 API, Microsoft Press, 1998. ISBN 157231995X (Supersedes: Programming Windows 95).
Richter, Jeffrey. Programming Applications for Microsoft Windows. Microsoft Press, 1999. ISBN 1572319968 (Supersedes: Advanced Windows, Third Edition).
The Microsoft Developer Network (MSDN) supplies essential documentation for programming in the Windows environment. This documentation is part of the Visual C++ environment. More information on the MSDN is available at http://msdn.microsoft.com.
Sun Java
Flanagan, David. Java in a Nutshell, Fourth Edition, O'Reilly & Associates, March 2002. ISBN 0596002831. This book provides an accelerated introduction to the Java language and key APIs.
In addition, you should study the Java tutorials and documentation provided on the Sun's Java website (http://www.java.sun.com).
UNIX
Stevens, W. Richard. Advanced Programming in the UNIX Environment. Reading, Massachusetts: Addison Wesley, 1992. ISBN 0-201-56317-7. This is the definitive reference for UNIX system programmers. It covers all the important UNIX concepts and covers the major UNIX variants in complete detail.
Rochkind, Marc J. Advanced UNIX Programming (Second Edition). Boston: Addison-Wesley Professional, 2004. ISBN 0-13-141154-3. This volume is also extremely well written and does an excellent job of explaining and motivating the fundamental UNIX concepts that underlie the UNIX system calls.
The vendor-supplied documentation and manual pages should be used in combination with the books listed above.
X Windows
The X Windows series by O'Reilly & Associates contains all the information needed to program for the X Window system. There are several volumes—the ones you will need depend on the type of programming you are doing.
Scheifler, Robert W. and James Gettys. X Window System. Digital Press. This is purely a reference manual, as opposed to the O'Reilly books which contain a large amount of tutorial as well as reference information. This book is primarily useful for those using XLIB to draw graphics into Motif Draw Widgets and for those who need to understand the base layers of X Windows. Motif programmers may not require this information since Motif hides many of these details.
There are many other X Windows books on the market with varying levels of quality and usefulness. Note that most X Windows books are updated with each version of the system. (X Version 11, Release 6 is the current version at this printing.)