Here is a thorough and authoritative guide to the latest version of the S language and to its programming environment the premier software platform for computing with data. Programming with Data describes a new and greatly extended version of S and is written by the chief designer of the language. The book is a guide to the complete programming process, starting from simple interactive use and continuing through ambitious software projects. S is designed for computing with data-for any project in which organizing, visualizing, summarizing, or modeling data are central concerns. Its focus is on the needs of the programmer/user, and its goal is "to turn ideas into software, quickly and faithfully." S is a functional object-based language with a huge library of functions for all aspects of computing with data. Its long and enthusiastic use in statistics and applied fields has also led to many valuable libraries of user-written functions. The new version of S provides powerful class/method structure, new techniques to deal with large objects, extended interfaces to other languages and files, object-based documentation compatible with HTML, and powerful new interactive programming techniques. This version of S underlies the S-PLUS system, versions 5*0 and higher.