Best of
Computer-Science

1991

Effective C++: 55 Specific Ways to Improve Your Programs and Designs


Scott Meyers - 1991
    But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s now STL. Design patterns. Even new functionality being added through TR1 and Boost.) So Meyers has done a top-to-bottom rewrite, identifying the 55 most valuable techniques you need now to be exceptionally effective with C++. Over half of this edition s content is new. Templates broadly impact C++ development, and you ll find them everywhere. There s extensive coverage of multithreaded systems. There s an entirely new chapter on resource management. You ll find substantial new coverage of exceptions. Much is gained, but nothing s lost: You ll find the same depth of practical insight that first made Effective C++ a classic all those years ago. Bill Camarda, from the July 2005 href="http://www.barnesandnoble.com/newslet... Only

Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP


Peter Norvig - 1991
    By reconstructing authentic, complex AI programs using state-of-the-art Common Lisp, the book teaches students and professionals how to build and debug robust practical programs, while demonstrating superior programming style and important AI concepts. The author strongly emphasizes the practical performance issues involved in writing real working programs of significant size. Chapters on troubleshooting and efficiency are included, along with a discussion of the fundamentals of object-oriented programming and a description of the main CLOS functions. This volume is an excellent text for a course on AI programming, a useful supplement for general AI courses and an indispensable reference for the professional programmer.

Elements of Information Theory


Thomas M. Cover - 1991
    Readers are provided once again with an instructive mix of mathematics, physics, statistics, and information theory.All the essential topics in information theory are covered in detail, including entropy, data compression, channel capacity, rate distortion, network information theory, and hypothesis testing. The authors provide readers with a solid understanding of the underlying theory and applications. Problem sets and a telegraphic summary at the end of each chapter further assist readers. The historical notes that follow each chapter recap the main points.The Second Edition features: * Chapters reorganized to improve teaching * 200 new problems * New material on source coding, portfolio theory, and feedback capacity * Updated referencesNow current and enhanced, the Second Edition of Elements of Information Theory remains the ideal textbook for upper-level undergraduate and graduate courses in electrical engineering, statistics, and telecommunications.

Quality Software Management V 1 – Systems Thinking


Gerald M. Weinberg - 1991
    Weinberg tackles the first requirement for developing quality software: learning to think correctly -- about problems, solutions, and quality itself. Guidelines on management are introduced to stimulate the kind of thinking needed.

The Art of the Metaobject Protocol


Gregor Kiczales - 1991
    The authors, who developed the metaobject protocol andwho were among the group that developed CLOS, introduce this new approach toprogramming language design, describe its evolution and design principles, andpresent a formal specification of a metaobject protocol for CLOS.Kiczales, desRivi?res, and Bobrow show that the "art of metaobject protocol design" lies increating a synthetic combination of object-oriented and reflective techniques thatcan be applied under existing software engineering considerations to yield a newapproach to programming language design that meets a broad set of designcriteria.One of the major benefits of including the metaobject protocol inprogramming languages is that it allows users to adjust the language to better suittheir needs. Metaobject protocols also disprove the adage that adding moreflexibility to a programming language reduces its performance. In presenting theprinciples of metaobject protocols, the authors work with actual code for asimplified implementation of CLOS and its metaobject protocol, providing anopportunity for the reader to gain hands-on experience with the design process. Theyalso include a number of exercises that address important concerns and openissues.Gregor Kiczales and Jim des Rivi?res, are Members of the Research Staff, andDaniel Bobrow is a Research Fellow, in the System Sciences Laboratory at Xerox PaloAlto Research Center.

Programming Perl


Tom Christiansen - 1991
    The first edition of this book, Programming Perl, hit the shelves in 1990, and was quickly adopted as the undisputed bible of the language. Since then, Perl has grown with the times, and so has this book.Programming Perl is not just a book about Perl. It is also a unique introduction to the language and its culture, as one might expect only from its authors. Larry Wall is the inventor of Perl, and provides a unique perspective on the evolution of Perl and its future direction. Tom Christiansen was one of the first champions of the language, and lives and breathes the complexities of Perl internals as few other mortals do. Jon Orwant is the editor of The Perl Journal, which has brought together the Perl community as a common forum for new developments in Perl.Any Perl book can show the syntax of Perl's functions, but only this one is a comprehensive guide to all the nooks and crannies of the language. Any Perl book can explain typeglobs, pseudohashes, and closures, but only this one shows how they really work. Any Perl book can say that my is faster than local, but only this one explains why. Any Perl book can have a title, but only this book is affectionately known by all Perl programmers as "The Camel."This third edition of Programming Perl has been expanded to cover version 5.6 of this maturing language. New topics include threading, the compiler, Unicode, and other new features that have been added since the previous edition.

The Standard C Library


P.J. Plauger - 1991
    A companion volume to Kernighan & Ritchie's C PROGRAMMING LANGUAGE. A collection of reusable functions (code for building data structures, code for performing math functions and scientific calculations, etc.) which will save C programmers time and money especially when working on large programming projects. The C Library is part of the ANSI (American National Standard Institute) for the C Language. This new book contains the complete code for the library. It covers elements of the library with which even the most experienced C programmers are not familiar such as internationalization (the ability to write programs that can adapt to different cultural locales, for example, using the C library, programmers can write software that manipulates large character sets such as Kanji). Structured like the Standard C Library, it contains 15 headers declaring or defining all of the names in the library. A separate chapter covers each header, including excerpts from relevant portions of the C Standard showing all codes needed to implement each portion of the library and explaining why it is necessary. The book teaches readers the concepts and design issues associated with library building. Using this book, programemrs will be less likely to re-code something that already exists in a given program. Plauger is one of the world's leading experts on C and the C Library.

The Art of Comp Systems Perform Analysis


Raj Jain - 1991
    Highly recommended!" -Dr. Leonard Kleinrock University of California, Los Angeles "An entirely refreshing text which has just the right mixture of theory and real world practice. The book is ideal for both classroom instruction and self-study." -Dr. Raymond L. Pickholtz President, IEEE Communications Society "An extraordinarily comprehensive treatment of both theoretical and practical issues." -Dr. Jeffrey P. Buzen Internationally recognized performance analysis expert ." it is the most thorough book available to date" -Dr. Erol Gelenbe Universite Rene Descartes, Paris ." an extraordinary book.. A worthy addition to the bookshelf of any practicing computer or communications engineer" -Dr. Vinton G. Cer Chairman, ACM SIGCOMM "This is an unusual object, a textbook that one wants to sit down and peruse. The prose is clear and fluent, but more important, it is witty." -Allison Mankin The Mitre Washington Networking Center Newsletter

Fundamentals of Software Engineering


Carlo Ghezzi - 1991
    In contrast to other books which are based on the lifecycle model of software development, the authors emphasize identifying and applying fundamental principles that are applicable throughout the software lifecycle. This emphasis enables readers to respond to the rapid changes in technology that are common today. Principles and techniques are emphasized rather than specific tools--users learn why particular techniques should or should not be used. Understanding the principles and techniques on which tools are based makes mastering a variety of specific tools easier. KEY TOPICS: The authors discuss principles such as design, specification, verification, production, management and tools. Now coverage includes: more detailed analysis and explanation of object-oriented techniques; the use of Unified Modeling Language (UML); requirements analysis and software architecture; Model checking--a technique that provides automatic support to the human activity of software verification; GQM--used to evaluate software quality and help improve the software process; Z specification language. MARKET: For software engineers.

The Design and Analysis of Algorithms


Dexter C. Kozen - 1991
    Every computer scientist has a copy of Knuth's works on algorithms on his or her shelf. Dexter Kozen, a researcher and professor at Cornell University, has written a text for graduate study of algorithms. This will be an important reference book as well as being a useful graduate-level textbook.

The Unicode Standard


The Unicode Consortium - 1991
    Knuth, The Art of Computer Programming“For more than a decade, Unicode has been a foundation for many Microsoft products and technologies; Unicode Standard Version 5.0 will help us deliver important new benefits to users.” —Bill Gates, chairman, Microsoft Corporation“The path W3C follows to making text on the Web truly global is Unicode.” —Sir Tim Berners-Lee, KBE, Web inventor and director of the World Wide Consortium (W3C)“Without Unicode, Java wouldn’t be Java, and the Internet would have a harder time connecting the people of the world.” —James Gosling, Inventor of Java, Sun Microsystems, Inc.These and other software luminaries recognize that Unicode has become an indispensable tool for supporting an increasingly global marketplace (see inside for more acclaim). A comprehensive system of standards for representing alphabets throughout the world, Unicode is the basis for modern programming—Windows, XML, Python, Perl, Mac OS, Linux—and every major search engine and browser in operation today. New to Unicode Version 5.0. A stable foundation for Unicode Security Mechanisms Property data for the Unicode Collation Algorithm and Common Locale Data Repository Improvements to the Unicode Encoding Model for UTF-8 Rigorous stability of case folding and identifiers for improved interoperability and backward compatibility—enabling additional new ways to optimize code. A systematic framework for improved text processing for greater reliability—covering combining characters, Unicode strings, line breaking, and segmentation.This new edition of Unicode’s official reference manual has been substantially updated to document the latest revisions to the Unicode Standard, with hundreds of pages of new information. It includes major revisions to text, figures, tables, definitions, and conformance clauses, and provides clear and practical answers to common questions. For the first time, the book contains the Unicode Standard Annexes, which specify vital processes such as text normalization and identifier parsing.These improvements are so important that Version 5.0 is the basis for Microsoft’s Vista generation of operating systems, and is included in upgrade plans for Google, Yahoo, and ICU, to name but a few.This is the one book all developers using Unicode must have.

IBM's 360 and Early 370 Systems


Emerson W. Pugh - 1991
    IBM's 360 and Early 370 Systems describes the creation ofthis remarkable system and the developments it spawned, including its successor, System/370. The authors tell how System/360's widely-copied architecture came intobeing and how IBM failed in an effort to replace it ten years later with a bolddevelopment effort called FS, the Future System. Along the way they detail thedevelopment of many computer innovations still in use, among them semiconductormemories, the cache, floppy disks, and Winchester disk files. They conclude bylooking at issues involved in managing research and development and striving forproduct leadership.While numerous anecdotal and fragmentary accounts of System/360and System/370 development exist, this is the first comprehensive account, a resultof research into IBM records, published reports, and interviews with over a hundredparticipants. Covering the period from about 1960 to 1975, it highlights suchimportant topics as the gamble on hybrid circuits, conception and achievement of aunified product line, memory and storage developments, software support, uniqueproblems at the high end of the line, monolithic integrated circuit developments, and the trend toward terminal-oriented systems.System/360 was developed during thetransition from discrete transistors to integrated circuits at the crucial time whenthe major source of IBM's revenue was changed from punched-card equipment toelectronic computer systems. As the authors point out, the key to the system'ssuccess was compatibility among its many models. So important was this to customersthat System/370 and its successors have remained compatible with System/360. Manycompanies in fact chose to develop and market their own 360-370 compatible systems.System/360 also spawned an entire industry dedicated to making plug-compatibleproducts for attachment to it.The authors, all affiliated with IBM Research, arecoauthors of IBM's Early Computers, a critically acclaimed technical historycovering the period before 1960.

Type Theory And Functional Programming


Simon Thompson - 1991
    

Super Mario World Game Secrets: The Unauthorized Edition


Rusel DeMaria - 1991
    4 helps even the most experienced player tackle this difficult game, revealing hidden items and warp zones, maps of critical areas, screen shots showing special techniques, and more. Original.

The Temporal Logic of Reactive and Concurrent Systems: Specification


Zohar Manna - 1991
    They are among the most difficult computing systems to program. Temporal logic is a formal tool/language which yields excellent results in specifying reactive systems. This volume, the first of two, subtitled Specification, has a self-contained introduction to temporal logic and, more important, an introduction to the computational model for reactive programs, developed by Zohar Manna and Amir Pnueli of Stanford University and the Weizmann Institute of Science, Israel, respectively.

Algorithms and Data Structures: Design, Correctness, Analysis


Jeffrey H. Kingston - 1991
    This book provides a look at the central algorithms and data structures of computer science, together with an introduction to the techniques of design, correctness and analysis required for understanding them.

The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling: Techniques for Experimental Design, Measurement, Simulation and Modelling


Raj Jain - 1991
    Highly recommended!" -Dr. Leonard Kleinrock University of California, Los Angeles "An entirely refreshing text which has just the right mixture of theory and real world practice. The book is ideal for both classroom instruction and self-study." -Dr. Raymond L. Pickholtz President, IEEE Communications Society "An extraordinarily comprehensive treatment of both theoretical and practical issues." -Dr. Jeffrey P. Buzen Internationally recognized performance analysis expert ". it is the most thorough book available to date" -Dr. Erol Gelenbe Université René Descartes, Paris ". an extraordinary book.. A worthy addition to the bookshelf of any practicing computer or communications engineer" -Dr. Vinton G. Cer??? Chairman, ACM SIGCOMM "This is an unusual object, a textbook that one wants to sit down and peruse. The prose is clear and fluent, but more important, it is witty." -Allison Mankin The Mitre Washington Networking Center Newsletter

Computers and the Imagination: Visual Adventures Beyond the Edge


Clifford A. Pickover - 1991
    

FORTRAN 77 and Numerical Methods for Engineers


Garold J. Borse - 1991
    To help the reader develop analysis skills while learning programming, engineering computations are incorporated with sound programming practices. Eight major programming assignments sections, each with a sample and solved model, illustrate the methods of preceding chapters, as well as introduce discussions concerning engineering orientation. This second edition integrates numerous advanced topics in numerical methods as they relate to computational procedures in order to reinforce their application in other courses such as calculus and physics. Topics especially tailored to the beginning user include matrix equations, root of functions, curve-fitting, series expansions, integration and differentiation and differential equations.

Programmer's Guide to the EGA and VGA Cards


Richard F. Ferraro - 1991
    Written for programmers and hardware designers creating EGA- and VGA-compatible products, this revised and updated edition of this bestselling resource contains new information covering the most recent developments in the graphics board industry.

The Art of Programming Embedded Systems


Jack G. Ganssle - 1991
    This book is oriented toward the design engineer or programmer who writes the computer code for such a system. There are a number of problems specific to the embedded systems designer, and this book addresses them and offers practical solutions.

Facets of Systems Science


George J. Klir - 1991
    It began in spring 1989, thirteen years after our Systems Science Department at SUNY-Binghamton was established, when I was asked by a group of students in our doctoral program to have a meeting with them. The spokesman of the group, Cliff Joslyn, opened our meeting by stating its purpose. I can closely paraphrase what he said: "We called this meeting to discuss with you, as Chairman of the Department, a fundamental problem with our systems science curriculum. In general, we consider it a good curriculum: we learn a lot of concepts, principles, and methodological tools, mathematical, computational, heu- ristic, which are fundamental to understanding and dealing with systems. And, yet, we learn virtually nothing about systems science itself. What is systems science? What are its historical roots? What are its aims? Where does it stand and where is it likely to go? These are pressing questions to us. After all, aren't we supposed to carry the systems science flag after we graduate from this program? We feel that a broad introductory course to systems science is urgently needed in the curriculum. Do you agree with this assessment?" The answer was obvious and, yet, not easy to give: "I agree, of course, but I do not see how the situation could be alleviated in the foreseeable future.