Best of
Programming

1999

Code: The Hidden Language of Computer Hardware and Software


Charles Petzold - 1999
    And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.

The Pragmatic Programmer: From Journeyman to Master


Andy Hunt - 1999
    It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation. Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.

Refactoring: Improving the Design of Existing Code


Martin Fowler - 1999
    Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring, these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use... until now. In Refactoring: Improving the Design of Existing Software, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.

Real-Time Rendering


Tomas Akenine-Möller - 1999
    With the advent of programmable shaders, a wide variety of new algorithms have arisen and evolved over the past few years. This edition discusses current, practical rendering methods used in games and other applications. It also presents a solid theoretical framework and relevant mathematics for the field of interactive computer graphics, all in an approachable style. The authors have made the figures used in the book available for download for fair use.: Download Figures

Python Essential Reference (Developer's Library)


David Beazley - 1999
    This text concisely describes the Python language and its programming environment for those readers already familiar with languages such as C and C++.

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions


Herb Sutter - 1999
    Do you enjoy solving thorny C++ problems and puzzles? Do you relish writing robust and extensible code? Then take a few minutes and challenge yourself with some tough C++ design and programming problems. The puzzles and problems in Exceptional C++ not only entertain, they will help you hone your skills to become the sharpest C++ programmer you can be. Many of these problems are culled from the famous Guru of the Week feature of the Internet newsgroup comp.lang.c++.moderated, expanded and updated to conform to the official ISO/ANSI C++ Standard. Each problem is rated according to difficulty and is designed to illustrate subtle programming mistakes or design considerations. After youve had a chance to attempt a solution yourself, the book then dissects the code, illustrates what went wrong, and shows how the problem can be fixed. Covering a broad range of C++ topics, the problems and solutions address critical issues such as: *Generic programming and how to write reusable templates *Exception safety issues and techniques *Robust class design and inheritance *Compiler firewalls and the Pimpl I

C++ Standard Library: A Tutorial and Reference


Nicolai M. Josuttis - 1999
    The library is not self-explanatory or fully consistent, and there are still some traps for the unwary. But the advantages far outweigh the problems, especially if you've got an expert book like Nicolai Josuttis' C++ Standard Library to help you. Josuttis starts with an overview of the standard library, and its key interrelationships with the core language. He presents detailed coverage of the STL, the most powerful, complex, and exciting part of the library; then covers special containers, strings, numeric classes, and internationalization; and helps you get more out of a component you're probably already using: the IOStream library. Every component description includes purpose, design, code examples, practical scenarios, pitfalls, and in most cases, reference sources. Whether you need a tutorial or reference, this book delivers the goods.— (Bill Camarda, bn.com, editor)

The Practice of Programming (Addison-Wesley Professional Computing Series)


Brian W. Kernighan - 1999
    With the same insight and authority that made their book The Unix programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive.

Extreme Programming Explained: Embrace Change (The XP Series)


Kent Beck - 1999
    If you are seriously interested in understanding how you and your team can start down the path of improvement with XP, you must read this book."-- Francesco Cirillo, Chief Executive Officer, XPLabs S.R.L. "The first edition of this book told us what XP was--it changed the way many of us think about software development. This second edition takes it farther and gives us a lot more of the 'why' of XP, the motivations and the principles behind the practices. This is great stuff. Armed with the 'what' and the 'why, ' we can now all set out to confidently work on the 'how' how to run our projects better, and how to get agile techniques adopted in our organizations."-- Dave Thomas, The Pragmatic Programmers LLC "This book is dynamite! It was revolutionary when it first appeared a few years ago, and this new edition is equally profound. For those who insist on cookbook checklists, there's an excellent chapter on 'primary practices, ' but I urge you to begin by truly contemplating the meaning of the opening sentence in the first chapter of Kent Beck's book: 'XP is about social change.' You should do whatever it takes to ensure that every IT professional and every IT manager--all the way up to the CIO--has a copy of Extreme Programming Explained on his or her desk."-- Ed Yourdon, author and consultant "XP is a powerful set of concepts for simplifying the process of software design, development, and testing. It is about minimalism and incrementalism, which are especially useful principles when tackling complex problems that require a balance of creativity and discipline."-- Michael A. Cusumano, Professor, MIT Sloan School of Management, and author of The Business of Software " Extreme Programming Explained is the work of a talented and passionate craftsman. Kent Beck has brought together a compelling collection of ideas about programming and management that deserves your full attention. My only beef is that our profession has gotten to a point where such common-sense ideas are labeled 'extreme.'..."-- Lou Mazzucchelli, Fellow, Cutter Business Technology Council "If your organization is ready for a change in the way it develops software, there's the slow incremental approach, fixing things one by one, or the fast track, jumping feet first into Extreme Programming. Do not be frightened by the name, it is not that extreme at all. It is mostly good old recipes and common sense, nicely integrated together, getting rid of all the fat that has accumulated over the years."-- Philippe Kruchten, UBC, Vancouver, British Columbia "Sometimes revolutionaries get left behind as the movement they started takes on a life of its own. In this book, Kent Beck shows that he remains ahead of the curve, leading XP to its next level. Incorporating five years of feedback, this book takes a fresh look at what it takes to develop better software in less time and for less money. There are no silver bullets here, just a set of practical principles that, when used wisely, can lead to dramatic improvements in software development productivity."-- Mary Poppendieck, author of Lean Software Development: An Agile Toolkit "Kent Beck has revised his classic book based on five more years of applying and teaching XP. He shows how the path to XP is both

Software Requirements 3


Karl Wiegers - 1999
    Two leaders in the requirements community have teamed up to deliver a contemporary set of practices covering the full range of requirements development and management activities on software projects. Describes practical, effective, field-tested techniques for managing the requirements engineering process from end to end. Provides examples demonstrating how requirements "good practices" can lead to fewer change requests, higher customer satisfaction, and lower development costs. Fully updated with contemporary examples and many new practices and techniques. Describes how to apply effective requirements practices to agile projects and numerous other special project situations. Targeted to business analysts, developers, project managers, and other software project stakeholders who have a general understanding of the software development process. Shares the insights gleaned from the authors' extensive experience delivering hundreds of software-requirements training courses, presentations, and webinars.New chapters are included on specifying data requirements, writing high-quality functional requirements, and requirements reuse. Considerable depth has been added on business requirements, elicitation techniques, and nonfunctional requirements. In addition, new chapters recommend effective requirements practices for various special project situations, including enhancement and replacement, packaged solutions, outsourced, business process automation, analytics and reporting, and embedded and other real-time systems projects.

Programming Applications for Microsoft Windows


Jeffrey Richter - 1999
    It provides detailed system information that's unavailable elsewhere, including architectural and implementation details and sample code.

Perl Black Book


Steven Holzner - 1999
    There are over a million copies of his books in print. Includes 250 pages of CGI programming, the driving force behind Perl's popularity. Includes over 1,000 programming examples. Comprehensive coverage of Perl syntax and programming. If you can have only one book on Perl, this is it Written at a higher technical level than other books currently on the market.

Introduction to Java Programming: Comprehensive Version


Y. Daniel Liang - 1999
    Daniel Liang teaches concepts of problem-solving and object-oriented programming using a fundamentals-first approach. Beginning programmers learn critical problem-solving techniques then move on to grasp the key concepts of object-oriented and GUI programming using Java 5. Students start with the essential problem-solving and programming concepts (control statements, methods, and arrays), are then introduced to object-oriented programming, graphical user interface (GUI), and applets, and finally to exception handling, I/O, data structures, and other advanced subjects. Liang uses small, simple, and stimulating examples to demonstrate concepts and techniques while longer examples are presented in case studies with overall discussions and thorough line-by-line explanations. Students can now write short, interesting, graphical game programs starting from Chapter 2! reinforcing key concepts with objectives lists, introduction and chapter overviews, easy to follow examples, chapter summaries, review questions, programming exercises, interactive self-test. Students receive solutions to even-numbered programming exercises, source code for the examples in the book, online self assessment (w/over 1000 multiple-choice questions) and ONLINE homework through GRADIANCE, the industries most advanced online homework application. Instructors are offered the most extensive library of support materials available including interactive and animated slides, TestGen (w/over 2000 multiple-choice questions), solutions to all programming exercises, sample exams and supplemental exercises. Available in two versions, the Fundamentals First edition (chapters 1-19) and the Comprehensive version (chapters 1-36).

Advanced Renderman: Creating CGI for Motion Pictures


Anthony A. Apodaca - 1999
    Written by the world's foremost RenderMan experts, it offers thoroughly updated coverage of the standard while moving beyond the scope of the original RenderMan Companion to provide in-depth information on dozens of advanced topics. Both a reference and a tutorial, this book will quickly prove indispensable, whether you're a technical director, graphics programmer, modeler, animator, or hobbyist.

Python Annotated Achives [With CDROM]


Martin C. Brown - 1999
    With Python Annotated Archives, we pick up where O'Reilly leaves off with its reference and tutorial and show the programmer how to best use the abilities of the language.

Excel 2000 Formulas


John Walkenbach - 1999
    With clear explanations of operators, nesting, and functions plus hundreds of practical, real-world examples, spreadsheet expert John Walkenbach shares proven solutions for typical (and not-to-typical) Excel challenges. From working with dates to performing table lookups to creating array formulas, this in-depth guide will help you supercharge your spreadsheets -- and make the most of Excel.

C++: Effective Object-Oriented Software Construction: Concepts, Practices, Industrial Strategies and Practices


Kayshav Dattatri - 1999
    Completely revised to reflect the ANSI C++ standard, it introduces the fundamentals of object-oriented design/programming in the context of real-world C++ software development, presenting proven strategies for using object languages to engineer elegant, high-quality software as quickly and efficiently as possible.Start with the foundations of object-oriented development: classes, objects, data abstraction, single and multiple inheritance, and other key concepts. Master the C++ object model, understanding its cost/benefit implications. Learn better style for C++ coding, and discover the key strategies professional developers use to maximize code and design reuse. Learn how to manage the extensive "housekeeping" associated with effective C++ software development, and walk through detailed, real-world comparisons of the strengths and weaknesses of each major object-oriented language.

Programming with QT: Writing Portable GUI applications on UNIX and Win32


Matthias Kalle Dalheimer - 1999
    Qt is much easier to use than the standard Motif toolkit for UNIX systems, but at the same time Qt emulates the look-and-feel of Motif. Best of all, after you have written an application with Qt, all you have to do is recompile it to have a version that works on Windows systems. Qt also emulates the look-and-feel of Windows, so you can provide all of your users with native-looking interfaces.Platform independence is not the only benefit of Qt. Qt uses an ingenious signal/slot mechanism for connecting user interaction with program functionality, providing an excellent framework for component-based programming. Graphical rendering in Qt is highly optimized due to its use of effective caching mechanisms -- rendering in Qt is often faster than with the similar native API. In addition to user interface classes, Qt features portable support for file system access, working with date and time values, and network programming. With Qt, you'll find that you need to write very little, if any, platform-dependent code because Qt already has what you need.Qt is popular with open-source and Linux developers because it can be used for free on UNIX systems for this type of development. For commercial development, you need a license for Qt, which is available from Troll Tech, the developers of Qt. In addition to open-source development, Qt is being used by several major companies and government and international agencies.While programming with Qt is straightforward and feels natural once you get the hang of it, the learning curve can be steep. Qt comes with excellent reference documentation, but beginners often find the included tutorial is not enough to really get started with Qt. That is where this book steps in. Programming with Qt guides you through the steps of writing a Qt application by showing you how to write a simple paint application. It also helps deepen your understanding of the topics with exercises and fully worked out answers. The book presents all of the GUI elements in Qt, along with advice about when and how to use them, so that you can make full use of the toolkit. There's also lots of information for seasoned Qt programmers, including material on advanced 2D transformations, drag-and-drop, and writing custom image file filters.Programming with Qt helps you get the most out of Qt. With it, you'll learn to take full advantage of this powerful, easy-to-use, cross-platform toolkit.

Mastering Delphi 5


Marco Cantù - 1999
    Hundreds of real-world examples show programmers how to stretch Delphi to its limits.

Algorithms: A Functional Programming Approach


Fethi A. Rabhi - 1999
    Concise, yet authoritative, this book teaches the skills needed to master this essential subject. The authors challenge more traditional methods of teaching algorithms by using a functional programming context, with Haskell as the implementation language. This leads to smaller, clearer and more elegant programs which enable the programmer to understand the algorithm itself more quickly and use that understanding to explore alternative solutions. Placing the emphasis on program development rather than the mathematical properties of algorithms, the book uses a succession of practical programming examples to develop in the reader problem-solving skills which can be easily transferred to other language paradigms.

Sams Teach Yourself SQL™ in 10 Minutes


Ben Forta - 1999
    It also covers MySQL, and PostgreSQL. It contains examples which have been tested against each SQL platform, with incompatibilities or platform distinctives called out and explained.

Linkers and Loaders


John R. Levine - 1999
    But do you know how to use them to their greatest possible advantage? Only now, with the publication of Linkers & Loaders, is there an authoritative book devoted entirely to these deep-seated compile-time and run-time processes. The book begins with a detailed and comparative account of linking and loading that illustrates the differences among various compilers and operating systems. On top of this foundation, the author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the space-saving, performance-improving techniques supported by many modern linkers, make the best use of the UNIX ELF library scheme, and much more. If you're serious about programming, you'll devour this unique guide to one of the field's least understood topics. Linkers & Loaders is also an ideal supplementary text for compiler and operating systems courses.

Gnu Emacs Lisp Reference Manual Ver 20.1


Bil Lewis - 1999
    

Programming with Latino Children's Materials: A How-To-Do-It Manual for Librarians


Tim Wadham - 1999
    It includes the text for almost 100 fingerplays and nursery rhymes, as well as bilingual puppet shows and ready-to-go programmes for use in public libraries and schools.

Perl Core Language: Little Black Book


Steven Holzner - 1999
    Includes step-by-step solutions on object-oriented programming in Perl. Covers how to handle syntax, math, files, modules, CGI, and OLE for Perl programming.

Learn Microsoft Visual Basic 6.0 Now


Michael Halvorson - 1999
    Learn Visual Basic 6.0 Now updates the bestselling Learn Visual Basic NowThe latest version includes a fully-working model of Visual Basic 6.0. Power users, and other first-time, self-motivated learners can work through exercises appropriate to their level of previous programming experience, then pursue hobbyist projects or move up to an intermediate book..

Visual Basic 6: Visual QuickStart Guide


Harold Davis - 1999
    Visual Basic 6: Visual QuickStart Guide, like VB itself, will appeal to both camps. It's so accessible that novices will be up and programming in no time, while more seasoned programmers will find it a helpful quick reference to important tasks. Of the many VB books on the market, few address the beginner. Visual Basic 6: VQS assumes absolutely no programming experience, but instead relies on the time-tested Visual QuickStart teaching method. Screenshots, sample code, and concise, step-by-step instructions guide you through a carefully selected series of examples designed to get you programming right from chapter one. And once you've mastered the basics, you can use the clearly tabbed format to refer to topics you need to brush up on.

Debian GNU/Linux 2.1 Unleashed


Mario Camou - 1999
    This book covers the most important topics to the Debian Linux intermediate/advanced user on installation and management of Debian systems. The book also provides wisdom and insights on how to control some of the more difficult to use aspects of Debian, like integrating Debian into Microsoft networks. Advanced topics show you how to set up an Internet server, set up a firewall, and install Linux on notebook computers. Debian GNU/Linux 2.1 Unleashed also has extensive coverage of working with open-source databases, and covers programming in several languages and shells in detail.

Programming for the Java Virtual Machine


Joshua Engel - 1999
    Knowledge of JVM internals is a huge advantage for Java programmers. It allows them to understand how their own programs operate to achieve better performance. While other books offer an overview of the Java Virtual Machine or paraphrase the standards documentation, Engel breaks new ground with this book by actually showing how to write programs for the Java Virtual Machine. In addition, Engel explains how to write JVM programs directly, without the aid of a Java compiler. Security designers will learn how the JVM verification algorithm works, and will be better equipped to build their own secure Java systems. Language designers will be able to create languages that run on top of the JVM, thereby acquiring its portability and performance. This book is completely up-to-date, covering the many fundamental changes made to the newest incarnation of the JVM and is compatible with all versions of Java: 1.0, 1.1, and 1.2.

Advanced Visual Basic 6: Power Techniques for Everyday Programs


Matthew J. Curland - 1999
    This book presents advanced VB programming from a COM data type approach, helping developers build more robust, effective code -- and overcome obstacles that appear as they push the envelope with VB. Developers learn how VB describes arrays, and how to duplicate that definition manually to perform simple type casting, and gain unprecedented control over how their programs use memory. The authors introduce best practices for interface-based design using normal VB class modules; show how to partition code for optimal reuse; and more. Next, they present advanced techniques for creating COM lightweight objects; and alternate memory management techniques that allow the creation of complex systems with many objects and minimal overhead. The book also covers threading, type libraries, component versioning, and more.

The Perl CD Bookshelf: Perl in a Nutshell/Programming Perl, 2nd Edition/Perl Cookbook/Advanced Perl Programming/Learning Perl, 2nd Edition/Learning Perl on WIN32 Systems


O'Reilly Media Inc. - 1999
    Now O'Reilly's Perl CD Bookshelf gives you convenient online access to your favorite books from your CD-ROM drive.The Perl CD Bookshelf contains a powerhouse of O'Reilly Animal Guides. Included are complete, unabridged versions of Perl in a Nutshell; Programming Perl, 2nd Edition; Perl Cookbook; Advanced Perl Programming; Learning Perl; and Learning Perl on Win32 Systems. As a bonus, the hard-copy version of Perl in a Nutshell is also included.Never has it been easier to learn, or look up, what you need to know online. Formatted in HTML, The Perl CD Bookshelf can be accessed with any Web browser. The books are fully searchable and cross-referenced. In addition to individual indexes for each book, a master index for the entire library is provided.

Database Solutions: A Step by Step Guide to Building Databases


Thomas M. Connolly - 1999
    Database Solutions: A step-by-step guide to building databases 2/eAre you responsible for designing and creating the databases that keep your business running? Or are you studying for a module in database design? If so, Database Solutions is for you! This fully revised and updated edition will make the database design and build process smoother, quicker and more reliable.Recipe for database success Take one RDMS - any of the major commercial products will do: Oracle, Informix, SQL Server, Access, Paradox Add one thorough reading of Database Solutions if you are an inexperienced database designer, or one recap of the methodology if you are an old hand Use the design and implementation frameworks to plan your timetable, use a common data model that fits your requirements and adapt as necessaryFeatures Includes hints and tips for success with comprehensive guidance on avoiding pitfalls and traps Shows how to create data models using the UML design notation Includes two full-length coded example databases written on Microsoft Access 2002 and Oracle 9i, plus 15 sample data models to adapt to your needs, chosen from seven common business areasNew for this edition! New chapters on SQL (St

Multithreaded Programming with Java Technology


Bil Lewis - 1999
    Multithreading gives Java developers a powerful tool for dramatically improving the responsiveness and performance of their programs. Now there's a complete guide to multithreaded programming with the Java 2 platform, written by multithreaded programming experts Bil Lewis and Daniel J. Berg. Start by understanding the rationale, fundamental concepts and foundations of multithreading, including the structures upon which threads are built, thread construction and lifecycles. Then, using extensive code examples, you'll master thread scheduling models; synchronization variables; and learn how to solve complex synchronization problems. The authors explain thread-specific data, and demonstrate how to leverage OS libraries to make Java multithreading more effective. They also cover multithreaded program design, interactions with RMI, tools for building threaded programs; and advanced techniques for maximizing thread performance.

Practical Visual C++ 6


Jonathan Bates - 1999
    You start by learning the basics of Developer Studio with the use of the Wizards, editors, and debuggers. Then move on to the core language, including program flow, data types, functions, classes, object-oriented programming, and more. You then progress into the Microsoft Foundation Classes (MFC), the libraries of pre-build classes that Microsoft provides to make Visual C++ programming much easier. By understanding how to use the classes within MFC, you will be able to create nearly any type of program. Specific coverage includes working with dialogs, objects, controls, document-views, file manipulation, and printing.

Java 2: The Complete Reference


Patrick Naughton - 1999
    Gain complete coverage of the Java language and new JDK for all levels of programmers with "Java 1.2: The Complete Reference" that brings all the elements of learning and advancing with the popular programming language in one book.

Linux & Unix Shell Programming


David V. Tansley - 1999
    This book will fully illustrate the ability of the shell to unlock the real potential of UNIX and Linux, and aims to get the reader up, running and creating robust shell scripts for real tasks and situations as quickly as possible - shell scripts that will work on any mainstream UNIX or Linux machine.If you are new to UNIX and Linux or if you are a power user in waiting then this book is for you. Most shell programming books merely annotate manual pages and syntax, but in this book users of all abilities will find plenty of practical working examples - all of which are available as full code script via an ftp site - as well as a host of tips, tricks and code one-liners, that will save you time on a day-to-day basis. The book is organized into self-contained chapters on individual topics for ease of reference.

Java 2 Complete


Sybex - 1999
    It has rapidly become the de facto standard for WWW application development. Java comes with a myriad of class packages that support graphical user interfaces, networking, sophisticated data structures, and much more. This book gives you everything you need to know to get up and running with JDK 1:2's new est features, including Swing, 2D graphics, and how to get your 1.2 certification.

Concurrent Programming in ML


John H. Reppy - 1999
    This practical, how-to book focuses on the use of concurrency to implement naturally concurrent applications. In addition to a tutorial introduction to programming in CML, the book presents three extended examples using CML for practical systems programming: a parallel software build system, a simple concurrent window manager, and an implementation of distributed tuple spaces. This book also illustrates advanced SML programming techniques, and includes a chapter on the implementation of concurrency using features provided by the SML/NJ system. It will be of interest to programmers, students, and professional researchers working in computer language development.

Prototype-Based Programming: Concepts, Languages and Applications


A. Taivalsaari - 1999
    In this prototype-based paradigm, there are no classes. Rather, new kinds of objects are formed more directly by composing concrete, full-fledged objects, which are often referred to as prototypes. When compared to class-based languages, prototype-based languages are conceptually simpler, and have many other characteristics that make them appealing, especially for the development of evolving, exploratory and/or distributed software systems. The distinction between class-based and prototype-based systems reflects a long-lasting philosophical dispute concerning the representation of abstractions. Class-based languages, such as Smalltalk, C++ and Java, explicitly use classes to represent similarity among collections of objects. Prototype-based systems, such as Self, NewtonScript and Omega, do not rely so much on advance categorization, but rather try to make the concepts in the problem domain as tangible and intuitive as possible. A typical argument in favor of prototypes is that people seem to be much better at dealing with specific examples first, then generalizing from them, than they are at absorbing general abstract principles first and later applying them in particular cases. This book presents the history and development of prototype-based programming and describes a number of prototype-based programming languages and applications. Such range from programs for portable digital appliances, graphical user-interface management systems for desktop and workstations, and cutting edge research on software visualisation and program restructuring. The book will be suitable for advanced software development practitioners, graduate students, and researchers active in the field.

Java 2 from Scratch [With CDROM]


Steven Haines - 1999
    Readers will learn about critical concepts and techniques associated with the language in the context of creating a functioning Stock Market Tracker/Analyzer. Each chapter builds on the previous with a casual tone, in-depth examples, and detailed steps to ultimately create a working market tracker.

Sams Teach Yourself MFC 6 in 24 Hours


Michael Morrison - 1999
    Sams Teach Yourself MFC in 24 Hours is a step-by-step tutorial that teaches the reader how to create fully functioning Windows applications using Microsoft's Foundation Class library.

Distributed Applications with Visual Basic 6.0 MCSD Training Kit


Microsoft Corporation - 1999
    The CD-ROM contains hands-on lab exercises, demos, and complete sample applications.

Oracle Distributed Systems


Charles Dye - 1999
    There are many reasons to use more than a single database in a distributed database system:Different databases may be associated with particular business functions, such as manufacturing or human resources. Databases may be aligned with geographical boundaries, such as a behemoth database at a headquarters site and smaller databases at regional offices. Two different databases may be required to access the same data in different ways, such as an order entry database whose transactions are aggregated and analyzed in a data warehouse. A busy Internet commerce site may create multiple copies of the same database to attain horizontal scalability. A copy of a production database may be created to serve as a development test bed. In a distributed database environment, data in two or more databases is accessible as if it were in a single database. Usually, the different databases are on different servers, which may be located at the same site or a continent away. Communication between the servers takes place via SQL*Net (for Oracle7) or Net8 (for Oracle8).Distributed database environments offer a number of benefits over single- database systems, including:Tunability Platform autonomy Fault tolerance Scalability Location transparency Site autonomy This book describes how you can use multiple databases and the distributed features of Oracle to best advantage. It covers:Table of contents:Part I: The Distributed SystemIntroduction to Distributed Database Systems SQL*Net and Net8 Configuration and Administration Distributed Database Security Designing the Distributed System Oracle's Distributed System Implementation Sample Configurations 8. Engineering Considerations Part II: ReplicationOracle Replication Architecture Advanced Replication Option InstallationBasic Replication Multi-Master Replication Updateable Snapshots Procedural Replication Conflict Avoidance and Resolution TechniquesPart III: AppendixesAppendix A: Built-in Packages for Distributed Systems Appendix B: Scripts

Effective C++ CD-ROM


Scott Meyers - 1999
    This CD includes the complete text of his Effective C++, Second Edition, and More Effective C++, plus a collection of recent C++ magazine articles. Far more than the sum of Meyers' two books, the CD has more than 2,000 separate links: within and between the books, among the books and the articles, and from the books and articles to the internet. Meyers personally selected the magazine articles to complement the material in his books, and they make the CD even more comprehensive and up-to-date.Navigating the Effective C++ CD is fast and easy, because it takes advantage of powerful new features in the leading web browsers. You never have to click more than twice to get to the information you want. If you're not sure where to find what you want, you can search using your browser, using a special index covering both books, or using a full-text search engine that knows about everything on the CD.This CD offers unprecedented support for linking into the material, so seamlessly integrating the CD with a collection of HTML documents (such as an intranet) is painless. Also unprecedented is the CD's configurability. Preference options control the size of images, diagrams, and file sizes, resulting in a system that looks good and responds quickly, regardless of your configuration. No more graphics spilling off your smaller screen, or indecipherable images on high-resolution monitors -- laptop to desktop, you get the information you need the way you want to see it.The Effective C++ CD is an indispensable resource for any programmer who wants to push C++ to its outer limits --and beyond.

Creating Web Pages with HTML Simplified


Ruth Maran - 1999
    Full-colour illustrations and concise captions take you through all phases of Web publishing, from laying out and formatting text to enlivening pages with graphics and applets.

Access 2000 Developer's Handbook Volume 1: Desktop Edition


Paul Litwin - 1999
    The latest from internationally recognized Access authorities Getz, Litwin, and Gilbert, the Access 2000 Developer's Handbook, Volume 1: Desktop Edition offers complete coverage of every aspect of building Access applications for single users and small workgroups, including the advanced topics you've got to master to take your work--and your career--to the next level. Inside, you'll profit from scores of practical examples, carefully devised by the authors to illustrate effective, elegant solutions to real-world challenges. Coverage includes: * Familiarizing yourself with Access 2000* Understanding the Access event model* Using VBA class modules* Applying sound database design principles* Using Access SQL* Using ActiveX Data Objects (ADO)* Controlling controls* Designing effective forms and reports* Controlling your printer* Taking advantage of shared Office programmability* Using Access as an automation client and server* Debugging and handling errors* Optimizing your application* Accessing DLLs and the Windows API* Adding professional features employed by the Access Wizards* Building add-ins, both MDA files and COM Add-Ins* Using Reddick VBA naming conventions* Managing startup and global options* Using DAO