作者:Michael L. Scott
出版日期:November 21, 2005
出版社:其它
页数:912
ISBN:ISBN-10: 0126339511 ISBN-13: 978-0126339512
文件格式:PDF
Review
As a textbook suitable for the classroom or self-study, Michael Scott’s Programming Language Pragmaticsprovides a worthy tour of the theory and practice of how programminglanguages are run on today’s computers. Clearly organized and filledwith a wide-ranging perspective on over 40 different languages, thisbook will be appreciated for its depth and breadth of coverage on anessential topic in computer science.
With references to dozens of programming languages, from Ada toTuring and everything in between (including C, C++, Java, and Perl),this book is a truly in-depth guide to how code is compiled (orinterpreted) and executed on computer hardware. Early chapters tend tobe slightly more theoretical (with coverage of regular expressions andcontext-free grammars) and will be most valuable to the computerscience student, but much of this book is accessible to anyone seekingto widen their knowledge (especially since recent standards surroundingXML make use of some of the same vocabulary presented here).
The book has a comprehensive discussion of compilation and linking,as well as how data types are implemented in memory. Sections onfunctional and logical programming (illustrated with Scheme and Prolog,which are often used in AI research) can expand your understanding ofhow programming languages work. Final sections on the advantages–andcomplexities–of concurrent processing, plus a nice treatment of codeoptimization techniques, round out the text here. Each chapter providesnumerous exercises, so you can try out the ideas on your own.
Students will benefit from the practical examples here, drawn from awide range of languages. If you are a self-taught developer, the veryapproachable tutorial can give you perspective on the formaldefinitions of many computer languages, which can help you master newones more effectively. –Richard Dragan
Topics covered: A survey of today’s programminglanguages, compilation vs. interpretation, the compilation process,regular expression and context-free grammars, scanners and parsers,names, scopes and bindings, scope rules, overloading, semanticanalysis, introduction to computer architecture, representing data,instruction sets, 680×0 and MIPs architectures, control flow andexpression evaluation, iteration and recursion, data types, typechecking, records, arrays, strings, sets, pointers, lists, file I/O,subroutines, calling sequences and parameter passing, exceptionhandling, coroutines, compile back-end processing, code generation,linking, object-oriented programming basics, encapsulation andinheritance, late binding, multiple inheritance, functional and logicallanguages, Scheme and Prolog, programming with concurrency, sharedmemory and message passing, and code optimization techniques. –This text refers to an out of print or unavailable edition of this title.
Review
“Michael Scott’s book could have been entitled: Why ProgrammingLanguages Work. It takes a fresh look at programming languages bybringing together ideas and techniques usually covered in disparatelanguage design, compiler, computer architecture, and operating systemcourses. Its comprehensive and integrated presentation of languagedesign and implementation illustrates and explains admirably the manydeep and profitable connections among these fields.” Jim Larus,Microsoft Research “This book is the best and most complete on thistopic that I’ve seen until now.” Klaus Ostermann, Darmstadt Universityof Technology
“Michael Scott’s book could have been entitled: Why ProgrammingLanguages Work. It takes a fresh look at programming languages bybringing together ideas and techniques usually covered in disparatelanguage design, compiler, computer architecture, and operating systemcourses. Its comprehensive and integrated presentation of languagedesign and implementation illustrates and explains admirably the manydeep and profitable connections among these fields.”
—Jim Larus, Microsoft Research
“This book is the best and most complete
on this topic that I’ve seen until now.”
—Klaus Ostermann, Darmstadt University of Technology — Review –This text refers to an out of print or unavailable edition of this title.